CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/Macro.h
浏览该文件的文档。
00001 # i f n d e f   H G L _ M A C R O _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ M A C R O _ I N C L U D E 
00004  
00005  n a m e s p a c e   h g l 
00006  
00007  { 
00008  
00009      # d e f i n e   N E W _ N U L L _ A R R A Y ( n a m e , t y p e , c o u n t )   {   \ 
00010  
00011                                                  n a m e = n e w   t y p e [ c o u n t ] ;   \ 
00012  
00013                                                  \ 
00014  
00015                                                  m e m s e t ( n a m e , 0 , s i z e o f ( t y p e ) * c o u n t ) ;     \ 
00016  
00017                                              } 
00018  
00019  
00020  
00021      # d e f i n e   S A F E _ C L E A R ( n a m e )     {   \ 
00022  
00023                                      i f ( n a m e )     \ 
00024  
00025                                      {   \ 
00026  
00027                                          d e l e t e   n a m e ;     \ 
00028  
00029                                          n a m e = N U L L ;     \ 
00030  
00031                                      }   \ 
00032  
00033                                  } 
00034  
00035  
00036  
00037      # d e f i n e   S A F E _ C L E A R _ A R R A Y ( n a m e )     {   \ 
00038  
00039                                          i f ( n a m e )     \ 
00040  
00041                                          {   \ 
00042  
00043                                              d e l e t e [ ]   n a m e ;     \ 
00044  
00045                                              n a m e = N U L L ;     \ 
00046  
00047                                          }   \ 
00048  
00049                                                                  } 
00050  
00051  
00052  
00053      # d e f i n e   S A F E _ C L E A R _ O B J E C T _ A R R A Y ( n a m e , n u m )   {   \ 
00054  
00055                                                      i f ( n a m e & & n u m > = 0 )     \ 
00056  
00057                                                      {   \ 
00058  
00059                                                          i n t   s a f e _ c l e a r _ o b j e c t _ a r r a y _ n u m b e r = n u m ;   \ 
00060  
00061                                                          \ 
00062  
00063                                                          w h i l e ( s a f e _ c l e a r _ o b j e c t _ a r r a y _ n u m b e r - - )   \ 
00064  
00065                                                              i f ( n a m e [ s a f e _ c l e a r _ o b j e c t _ a r r a y _ n u m b e r ] )     \ 
00066  
00067                                                                  d e l e t e   n a m e [ s a f e _ c l e a r _ o b j e c t _ a r r a y _ n u m b e r ] ;     \ 
00068  
00069                                                          \ 
00070  
00071                                                          d e l e t e [ ]   n a m e ;     \ 
00072  
00073                                                          n a m e = N U L L ;     \ 
00074  
00075                                                      }   \ 
00076  
00077                                                  } 
00078  
00079  
00080  
00081      # d e f i n e   F R E E _ O B J E C T _ A R R A Y ( n a m e , n u m )   {   \ 
00082  
00083                                              i f ( n a m e & & n u m > = 0 )     \ 
00084  
00085                                              {   \ 
00086  
00087                                                  i n t   f r e e _ o b j e c t _ a r r a y _ n u m b e r = n u m ;   \ 
00088  
00089                                                  \ 
00090  
00091                                                  w h i l e ( f r e e _ o b j e c t _ a r r a y _ n u m b e r - - )   \ 
00092  
00093                                                      i f ( n a m e [ f r e e _ o b j e c t _ a r r a y _ n u m b e r ] )     \ 
00094  
00095                                                          d e l e t e   n a m e [ f r e e _ o b j e c t _ a r r a y _ n u m b e r ] ;     \ 
00096  
00097                                                  \ 
00098  
00099                                                  h g l _ f r e e ( n a m e ) ;   \ 
00100  
00101                                                  n a m e = N U L L ;     \ 
00102  
00103                                              }   \ 
00104  
00105                                          } 
00106  
00107  
00108  
00109      # d e f i n e   S A F E _ F R E E _ O B J E C T _ A R R A Y ( n a m e , n u m )     {   \ 
00110  
00111                                                      i f ( n a m e )     \ 
00112  
00113                                                          F R E E _ O B J E C T _ A R R A Y ( n a m e , n u m ) ;     \ 
00114  
00115                                                  } 
00116  
00117  
00118  
00119      # d e f i n e   S A F E _ R E C R E A T E ( n a m e , c o d e )     {   \ 
00120  
00121                                              i f ( n a m e )     \ 
00122  
00123                                                  d e l e t e   n a m e ;     \ 
00124  
00125                                              \ 
00126  
00127                                              n a m e = c o d e ;     \ 
00128  
00129                                          } 
00130  
00131  
00132  
00133      # d e f i n e   A R R A Y _ C A L L ( n a m e , n u m , c o d e )   {   \ 
00134  
00135                                              i n t   a r r a y _ c a l l _ n u m b e r = n u m ;     \ 
00136  
00137                                              \ 
00138  
00139                                              w h i l e ( a r r a y _ c a l l _ n u m b e r - - )     \ 
00140  
00141                                                  n a m e [ a r r a y _ c a l l _ n u m b e r ] - > c o d e ;     \ 
00142  
00143                                          } 
00144  
00145  
00146  
00147      # d e f i n e   L O A D _ F U N C ( t y p e , f u n c )     t y p e   f u n c ( v o i d   * b u f , i n t   b u f _ s i z e )   \ 
00148  
00149                                      {   \ 
00150  
00151                                          i f ( ! b u f | | b u f _ s i z e < = 0 ) r e t u r n   0 ;     \ 
00152  
00153                                          \ 
00154  
00155                                          M e m S t r e a m   m s ( b u f , b u f _ s i z e ) ;   \ 
00156  
00157                                          \ 
00158  
00159                                          r e t u r n ( f u n c ( & m s ) ) ;     \ 
00160  
00161                                      }   \ 
00162  
00163                                      \ 
00164  
00165                                      t y p e   f u n c ( c o n s t   W i d e S t r i n g   & f i l e n a m e )   \ 
00166  
00167                                      {   \ 
00168  
00169                                          F i l e S t r e a m   f s ;     \ 
00170  
00171                                          \ 
00172  
00173                                          i f ( f s . O p e n ( f i l e n a m e ) )   \ 
00174  
00175                                              r e t u r n ( f u n c ( & f s ) ) ;     \ 
00176  
00177                                          e l s e     \ 
00178  
00179                                              r e t u r n   0 ;   \ 
00180  
00181                                      }   \ 
00182  
00183                                      \ 
00184  
00185                                      t y p e   f u n c ( H A C   * h a c , c o n s t   W i d e S t r i n g   & f i l e n a m e )     \ 
00186  
00187                                      {   \ 
00188  
00189                                          i f ( ! h a c ) r e t u r n   0 ;   \ 
00190  
00191                                          \ 
00192  
00193                                          S t r e a m   * s = h a c - > L o a d F i l e ( f i l e n a m e ) ;     \ 
00194  
00195                                          \ 
00196  
00197                                          i f ( s )   \ 
00198  
00199                                          {   \ 
00200  
00201                                              t y p e   r e s u l t = f u n c ( s ) ;     \ 
00202  
00203                                              \ 
00204  
00205                                              d e l e t e   s ;   \ 
00206  
00207                                              r e t u r n ( r e s u l t ) ;   \ 
00208  
00209                                          }   \ 
00210  
00211                                          \ 
00212  
00213                                          r e t u r n   0 ;   \ 
00214  
00215                                      } 
00216  
00217  
00218  
00219      # d e f i n e   S A V E _ F U N C ( t y p e , f u n c )     b o o l   f u n c ( t y p e   d a t a , v o i d   * b u f , i n t   b u f _ s i z e )   \ 
00220  
00221                                      {   \ 
00222  
00223                                          i f ( ! b u f | | b u f _ s i z e < = 0 ) r e t u r n ( f a l s e ) ;   \ 
00224  
00225                                          \ 
00226  
00227                                          M e m S t r e a m   m s ( b u f , b u f _ s i z e ) ;   \ 
00228  
00229                                          \ 
00230  
00231                                          r e t u r n ( f u n c ( d a t a , & m s ) ) ;   \ 
00232  
00233                                      }   \ 
00234  
00235                                      \ 
00236  
00237                                      b o o l   f u n c ( t y p e   d a t a , c o n s t   W i d e S t r i n g   & f i l e n a m e )   \ 
00238  
00239                                      {   \ 
00240  
00241                                          F i l e S t r e a m   f s ;     \ 
00242  
00243                                          \ 
00244  
00245                                          i f ( f s . C r e a t e ( f i l e n a m e ) )   \ 
00246  
00247                                              r e t u r n ( f u n c ( d a t a , & f s ) ) ;   \ 
00248  
00249                                          e l s e     \ 
00250  
00251                                              r e t u r n ( f a l s e ) ;     \ 
00252  
00253                                      } 
00254  
00255  } / / n a m e s p a c e   h g l 
00256  
00257  # e n d i f / / H G L _ M A C R O _ I N C L U D E 
00258  
00259  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义