CMGDK r49-rc2
|
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~b0Tc^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 gpencFO 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*NpencFO 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