CMGDK r49-rc2
|
00001 # i f n d e f H G L _ R E S _ M A N A G E _ I N C L U D E 00002 00003 # d e f i n e H G L _ R E S _ M A N A G E _ 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 / I n d e x D a t a . H > 00010 00011 # i n c l u d e < h g l / H A C . H > 00012 00013 n a m e s p a c e h g l 00014 00015 { 00016 00017 t e m p l a t e < t y p e n a m e F , t y p e n a m e T > s t r u c t R e f F l a g D a t a 00018 00019 { 00020 00021 F f l a g ; 00022 00023 T * d a t a ; 00024 00025 i n t c o u n t ; 00026 00027 } ; 00028 00029 00030 00031 / * * 00032 00033 * Dn{thV, [l gQ{tNN/f{tpencv^O 00034 NO͑ 00035 YR} 00036 00037 * / 00038 00039 t e m p l a t e < t y p e n a m e F , t y p e n a m e T > c l a s s R e s M a n a g e : p u b l i c O b j e c t 00040 00041 { 00042 00043 p r o t e c t e d : 00044 00045 00046 00047 t y p e d e f R e f F l a g D a t a < F , T > R e s I t e m ; 00048 00049 00050 00051 _ I n d e x D a t a < F , T * , R e s I t e m > i t e m s ; 00052 00053 00054 00055 v o i d R e l e a s e B y S e r i a l ( i n t ) ; 00056 00057 00058 00059 p r o t e c t e d : 00060 00061 00062 00063 v i r t u a l T * C r e a t e ( c o n s t F & ) = 0 ; / / / < DnR^ZbQpe 00064 00065 v i r t u a l v o i d C l e a r ( T * ) ; / / / < Dnʑ>eZbQpe( :w:Nvcd e l e t e [a) 00066 00067 00068 00069 p u b l i c : 00070 00071 00072 00073 v i r t u a l ~ R e s M a n a g e ( ) ; 00074 00075 00076 00077 v o i d C l e a r ( ) ; 00078 00079 00080 00081 T * F i n d ( c o n s t F & ) ; 00082 00083 T * G e t ( c o n s t F & ) ; 00084 00085 00086 00087 v o i d R e l e a s e ( c o n s t F & ) ; 00088 00089 v o i d R e l e a s e ( T * ) ; 00090 00091 } ; / / t e m p l a t e < t y p e n a m e F , t y p e n a m e T > c l a s s R e s M a n a g e 00092 00093 00094 00095 t e m p l a t e < t y p e n a m e T > c l a s s R e s M a n a g e B y N a m e : p u b l i c R e s M a n a g e < W i d e S t r i n g , T > 00096 00097 { 00098 00099 p r o t e c t e d : 00100 00101 00102 00103 v i r t u a l T * C r e a t e ( c o n s t W i d e S t r i n g & ) ; 00104 00105 } ; 00106 00107 00108 00109 t e m p l a t e < t y p e n a m e T > c l a s s R e s M a n a g e H A C : p u b l i c R e s M a n a g e B y N a m e < T > 00110 00111 { 00112 00113 b o o l h a c _ p r i v a t e ; 00114 00115 00116 00117 H A C * h a c _ d a t a ; 00118 00119 00120 00121 H A C * G e t H a c ( ) { r e t u r n h a c _ d a t a ; } 00122 00123 v o i d I n i t P r i v a t e ( ) ; 00124 00125 00126 00127 p u b l i c : 00128 00129 00130 00131 P r o p e r t y < H A C * > h a c ; 00132 00133 00134 00135 p u b l i c : 00136 00137 00138 00139 R e s M a n a g e H A C ( H A C * ) ; 00140 00141 R e s M a n a g e H A C ( c o n s t W i d e S t r i n g & ) ; 00142 00143 v i r t u a l ~ R e s M a n a g e H A C ( ) ; 00144 00145 00146 00147 p r o t e c t e d : 00148 00149 00150 00151 v i r t u a l T * C r e a t e ( c o n s t W i d e S t r i n g & ) ; 00152 00153 } ; / / t e m p l a t e < t y p e n a m e T > c l a s s R e s M a n a g e B y N a m e 00154 00155 } / / n a m e s p a c e h g l 00156 00157 # i n c l u d e < h g l / t y p e / R e s M a n a g e . C P P > 00158 00159 # e n d i f / / H G L _ R E S _ M A N A G E _ I N C L U D E 00160 00161