CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/List.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ L I S T _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ L I S T _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / o b j e c t / O b j e c t . H > 
00008  
00009  # i n c l u d e < h g l / t y p e / L i s t . H > 
00010  
00011  # i n c l u d e < h g l / O t h e r . H > 
00012  
00013  # i n c l u d e < h g l / t h r e a d / T h r e a d M u t e x . H > 
00014  
00015  # i n c l u d e < h g l / L o g I n f o . H > 
00016  
00017  
00018  
00019  # i f   d e f i n e d ( _ _ B O R L A N D C _ _ ) | | d e f i n e d ( _ _ T U R B O C _ _ ) | | d e f i n e d ( _ _ C O D E G E A R C _ _ ) 
00020  
00021  # p r a g m a   w a r n   - 8 0 2 2                         / / Oh i d e s   v i t u a l   f u n c t i o n fJTeHe
00022  
00023  # e n d i f / / 
00024  
00025  
00026  
00027  n a m e s p a c e   h g l 
00028  
00029  { 
00030  
00031      c l a s s   S t r e a m ; 
00032  
00033  
00034  
00035      / * * 
00036  
00037      *   L i s t {|(uNOX[pencRh0SN(WRh-NmR0 Rd0g~b0Tc^penc0
00038  
00039      * / 
00040  
00041      t e m p l a t e   < t y p e n a m e   T >   c l a s s   L i s t : p u b l i c   _ O b j e c t                                                                                                   / / / RhYt{|
00042  
00043      { 
00044  
00045      p r o t e c t e d : 
00046  
00047  
00048  
00049          i n t   c o u n t ; 
00050  
00051          i n t   m a x _ c o u n t ; 
00052  
00053          T   * i t e m s ; 
00054  
00055  
00056  
00057                  i n t       G e t C o u n t ( ) c o n s t   { r e t u r n   c o u n t ; } 
00058  
00059          v i r t u a l   v o i d     S e t C o u n t ( i n t ) ; 
00060  
00061                  T   *       G e t D a t a   ( )         { r e t u r n   i t e m s ; }                                                                                           / / / < cOSYpency
00062  
00063                  i n t       G e t B y t e s ( ) c o n s t   { r e t u r n   c o u n t * s i z e o f ( T ) ; } 
00064  
00065  
00066  
00067      p u b l i c :   / / ^\'`
00068  
00069  
00070  
00071          P r o p e r t y < i n t >   C o u n t ;                                                                                                                                                 / / / < penc[a*Npe
00072  
00073          P r o p e r t y < T   * >   D a t a ;                                                                                                                                                   / / / < vcpencQX[c
00074  
00075          P r o p e r t y < i n t >   B y t e s ;                                                                         / / / < pencW[pe
00076  
00077  
00078  
00079          p u b l i c :   / / NN
00080  
00081  
00082  
00083          b o o l   ( * O n S a v e T o S t r e a m ) ( S t r e a m   * , c o n s t   T   & ) ;                                                   / / / < OX[0RAmNN
00084  
00085          b o o l   ( * O n L o a d F r o m S t r e a m ) ( S t r e a m   * , T   & ) ;                                                       / / / < NAmR}NN
00086  
00087  
00088  
00089      p u b l i c :   / / el
00090  
00091  
00092  
00093          L i s t ( ) ;                                                                                                                                                                           / / / < ,g{|g Qpe
00094  
00095          L i s t ( c o n s t   L i s t < T >   & l t ) { o p e r a t o r = ( l t ) ; }                                                       / / / < ,g{|g Qpe
00096  
00097          v i r t u a l   ~ L i s t ( ) ;                                                                                                                                                         / / / < ,g{|ggQpe
00098  
00099  
00100  
00101          v i r t u a l   i n t     A d d ( c o n s t   T   & ) ;                                                                 / / / < XR N*Npenc
00102  
00103          v i r t u a l   i n t     A d d ( c o n s t   T   * , i n t   n ) ;                                                             / / / < XR Nybpenc
00104  
00105          v i r t u a l   v o i d   C l e a r ( ) ;                                                                       / / / < nd@b gpenc
00106  
00107          v i r t u a l   v o i d   C l e a r D a t a ( ) ;                                                                   / / / < nd@b gpencFO
00108 NnzzQ:S
00109  
00110          v i r t u a l   i n t     F i n d ( c o n s t   T   & ) ;                                                               / / / < g~bc[pencv"}_
00111  
00112          v i r t u a l   b o o l   D e l e t e ( i n t ) ;                                                                   / / / <  Rdc["}_vpenc
00113  
00114          v i r t u a l   b o o l   D e l e t e B y D a t a ( c o n s t   T   & ) ;                                                       / / / <  Rd N*Nc[penc
00115  
00116          v i r t u a l   v o i d   D e l e t e B y D a t a ( c o n s t   T   * , i n t ) ;                                                   / / / <  Rd Nybc[vpenc
00117  
00118          v i r t u a l   v o i d   E x c h a n g e ( i n t , i n t ) ;                                                               / / / < 9hnc"}_Nbc$N*Npenc
00119  
00120          v i r t u a l   v o i d   I n s e r t ( i n t , c o n s t   T   & ) ;                                                           / / / < (Wc["}_YceQ N*Npenc
00121  
00122          v i r t u a l   v o i d   M o v e ( i n t , i n t ) ;                                                                   / / / < yR N*Npenc0Ryc"}_Y
00123  
00124  
00125  
00126                              v o i d   D e l e t e C l e a r ( ) ;                                                                   / / / < nd@b gpencv^hQ(ud e l e t e 
00127  
00128  
00129  
00130          v i r t u a l   v o i d   o p e r a t o r   =   ( c o n s t   L i s t < T >   & ) ;                                                     / / / < d\O&{͑}
00131 Y6R N*NRh
00132  
00133  
00134  
00135          v i r t u a l   v o i d   o p e r a t o r   + =   ( c o n s t   T   & o b j ) { A d d ( o b j ) ; }                                             / / / < d\O&{͑}mR N*Npenc
00136  
00137          v i r t u a l   v o i d   o p e r a t o r   < <   ( c o n s t   T   & o b j ) { A d d ( o b j ) ; }                                             / / / < d\O&{͑}mR N*Npenc
00138  
00139          v i r t u a l   v o i d   o p e r a t o r   - =   ( c o n s t   T   & o b j ) { D e l e t e B y D a t a ( o b j ) ; }                                   / / / < d\O&{͑} Rd N*Npenc
00140  
00141  
00142  
00143          v i r t u a l   b o o l   S a v e T o S t r e a m ( S t r e a m   * , i n t = 0 , i n t = 0 ) c o n s t ;                                       / / / < OX[S_MRRhpenc0RAm
00144  
00145          v i r t u a l   b o o l   L o a d F r o m S t r e a m ( S t r e a m   * , i n t = - 1 ) ;                                               / / / < NAm-NR}penc0RRh
00146  
00147          v i r t u a l   b o o l   S a v e T o F i l e ( c o n s t   w c h a r _ t   * ) c o n s t ;                                                 / / / < OX[0ReN
00148  
00149          v i r t u a l   b o o l   L o a d F r o m F i l e ( c o n s t   w c h a r _ t   * ) ;                                                                                           / / / < NeNR}
00150  
00151  
00152  
00153          T   & G e t ( i n t ) c o n s t ;                                                                           / / / < S_c["}_Yvpenc
00154  
00155          v o i d   S e t ( i n t , c o n s t   T   & ) ;                                                                     / / / < nc["}_Yvpenc
00156  
00157  
00158  
00159          T   & o p e r a t o r [ ] ( i n t   n ) c o n s t { r e t u r n   G e t ( n ) ; }                                                   / / / < d\O&{͑}S_c["}_Yvpenc
00160  
00161      } ; / / t e m p l a t e   < t y p e n a m e   T >   c l a s s   L i s t 
00162  
00163  } / / n a m e s p a c e   h g l 
00164  
00165  
00166  
00167  # i n c l u d e < h g l / t y p e / L i s t . C P P > 
00168  
00169  / / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00170  
00171  n a m e s p a c e   h g l 
00172  
00173  { 
00174  
00175      / * * 
00176  
00177      *   ꁚ[IN[aRhYt{|NhQRhYt{|v:S+R(WN[[pencub/ ndeOY(uZbQpeC r e a t e / D e l t e 
00178  
00179      * / 
00180  
00181      t e m p l a t e < t y p e n a m e   T >   c l a s s   C u s O b j e c t L i s t : p u b l i c   L i s t < T   * >                                       / / / [aRhYt{|
00182  
00183      { 
00184  
00185          v i r t u a l   v o i d   S e t C o u n t ( i n t ) ; 
00186  
00187  
00188  
00189          v i r t u a l   T   *       C r e a t e O b j e c t ( ) = 0 ;                                                           / / / < R^ N*NpencFO
00190 NReQRh
00191  
00192          v i r t u a l   v o i d     D e l e t e O b j e c t ( T   * ) = 0 ;                                                         / / / <  Rd N*Npenc
00193  
00194  
00195  
00196      p u b l i c : 
00197  
00198  
00199  
00200          t y p e d e f   T   * I t e m P o i n t e r ; 
00201  
00202  
00203  
00204      p u b l i c :   / / el
00205  
00206  
00207  
00208          C u s O b j e c t L i s t ( ) ; 
00209  
00210          v i r t u a l   ~ C u s O b j e c t L i s t ( ) ; 
00211  
00212  
00213  
00214      p u b l i c : 
00215  
00216  
00217  
00218          v i r t u a l   T   *       A p p e n d ( ) ;                                                                   / / / < R N*Npenc
00219  
00220          v i r t u a l   T   *       I n s e r t ( i n t ) ;                                                                 / / / < (Wc["}_YR^ N*Npenc
00221  
00222                  v o i d     I n s e r t ( i n t , T   * ) ;                                                             / / / < (Wc["}_YceQ N*Npenc
00223  
00224  
00225  
00226          v i r t u a l   v o i d     C l e a r ( ) ;                                                                     / / / < nd@b gpenc
00227  
00228  
00229  
00230          v i r t u a l   b o o l     U n l i n k ( i n t ) ;                                                                 / / / < \c["}_YvpencNRhe _
00231  
00232          v i r t u a l   b o o l     U n l i n k B y D a t a ( T   * ) ;                                                             / / / < \ N*Nc[pencNRhe _
00233  
00234          v i r t u a l   v o i d     U n l i n k B y D a t a ( T   * * , i n t ) ;                                                       / / / < \ Nybc[pencNRhe _
00235  
00236          v i r t u a l   v o i d     U n l i n k A l l ( ) ;                                                                 / / / < e _@b gpenc
00237  
00238  
00239  
00240          v i r t u a l   b o o l     D e l e t e ( i n t ) ;                                                                 / / / <  Rdc["}_Yvpenc
00241  
00242          v i r t u a l   b o o l     D e l e t e B y D a t a ( T   * ) ;                                                             / / / <  Rdc[v N*Npenc
00243  
00244          v i r t u a l   v o i d     D e l e t e B y D a t a ( T   * * , i n t ) ;                                                       / / / <  Rdc[v Nybpenc
00245  
00246          v i r t u a l   v o i d     D e l e t e A l l ( ) ;                                                                 / / / <  Rd@b gpenc
00247  
00248      } ; / / t e m p l a t e   < t y p e n a m e   T >   c l a s s   C u s O b j e c t L i s t 
00249  
00250  
00251  
00252      / * * 
00253  
00254      *   [aRhYt{|< b r > 
00255  
00256      *   \ꁚ[IN[aRh-NvC r e a t e ͑}:Nn e w , D e l e t e ͑}:Nd e l e t e 
00257  
00258      * / 
00259  
00260      t e m p l a t e < t y p e n a m e   T >   c l a s s   O b j e c t L i s t : p u b l i c   C u s O b j e c t L i s t < T > 
00261  
00262      { 
00263  
00264      p r i v a t e : 
00265  
00266  
00267  
00268          v i r t u a l   T   *       C r e a t e O b j e c t ( ) { r e t u r n ( n e w   T ) ; }                                                 / / / < R^ N*Npenc
00269  
00270          v i r t u a l   v o i d     D e l e t e O b j e c t ( T   * o b j ) { d e l e t e   o b j ; }                                           / / / <  Rd N*Npenc
00271  
00272          
00273  
00274      p u b l i c : 
00275  
00276  
00277  
00278          v i r t u a l   ~ O b j e c t L i s t ( ) 
00279  
00280          { 
00281  
00282              C l e a r ( ) ; 
00283  
00284          } 
00285  
00286      } ; / / c l a s s   O b j e c t L i s t 
00287  
00288  } / / n a m e s p a c e   h g l 
00289  
00290  # i n c l u d e   < h g l / t y p e / O b j e c t L i s t . C P P > 
00291  
00292  # e n d i f / / H G L _ L I S T _ I N C L U D E 
00293  
00294  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义