CMGDK r49-rc2
|
00001 # i f n d e f H G L _ I O _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00002 00003 # d e f i n e H G L _ I O _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / i o / I n p u t S t r e a m . H > 00008 00009 # i n c l u d e < h g l / t y p e / W i d e S t r i n g . H > 00010 00011 n a m e s p a c e h g l 00012 00013 { 00014 00015 n a m e s p a c e i o 00016 00017 { 00018 00019 c l a s s I n p u t S t r e a m ; 00020 00021 00022 00023 / * * 00024 00025 * <h_penceQAmW{| 00026 00027 * / 00028 00029 c l a s s D a t a I n p u t S t r e a m / / / <h_penceQAmW{| 00030 00031 { 00032 00033 p r o t e c t e d : 00034 00035 00036 00037 I n p u t S t r e a m * i n ; 00038 00039 00040 00041 p u b l i c : 00042 00043 00044 00045 D a t a I n p u t S t r e a m ( I n p u t S t r e a m * i s ) 00046 00047 { 00048 00049 i n = i s ; 00050 00051 } 00052 00053 00054 00055 v i r t u a l ~ D a t a I n p u t S t r e a m ( ) 00056 00057 { 00058 00059 } 00060 00061 00062 00063 v i r t u a l i n t 6 4 R e a d ( v o i d * b u f , i n t 6 4 s i z e ) 00064 00065 { 00066 00067 i f ( ! b u f | | s i z e < 0 ) r e t u r n ( - 1 ) ; 00068 00069 00070 00071 r e t u r n ( i n ? i n - > R e a d ( b u f , s i z e ) : - 1 ) ; 00072 00073 } 00074 00075 00076 00077 v i r t u a l i n t 6 4 S e e k ( i n t 6 4 o f f s e t , S e e k O r i g i n s o = s o B e g i n ) 00078 00079 { 00080 00081 r e t u r n ( i n ? i n - > S e e k ( o f f s e t , s o ) : - 1 ) ; 00082 00083 } 00084 00085 00086 00087 v i r t u a l i n t 6 4 G e t S i z e ( ) 00088 00089 { 00090 00091 r e t u r n ( i n ? i n - > G e t S i z e ( ) : - 1 ) ; 00092 00093 } 00094 00095 00096 00097 v i r t u a l i n t 6 4 A v a i l a b l e ( ) 00098 00099 { 00100 00101 r e t u r n ( i n ? i n - > A v a i l a b l e ( ) : - 1 ) ; 00102 00103 } 00104 00105 00106 00107 # d e f i n e S T R E A M _ R E A D ( t y p e , n a m e ) v i r t u a l b o o l R e a d # # n a m e ( t y p e & v a l u e ) { r e t u r n ( R e a d ( & v a l u e , s i z e o f ( t y p e ) ) = = i n t 6 4 ( s i z e o f ( t y p e ) ) ) ; } 00108 00109 00110 00111 S T R E A M _ R E A D ( c h a r , C h a r ) ; 00112 00113 S T R E A M _ R E A D ( b o o l , B o o l ) ; 00114 00115 S T R E A M _ R E A D ( i n t 8 , I n t 8 ) ; 00116 00117 S T R E A M _ R E A D ( u i n t 8 , U i n t 8 ) ; 00118 00119 00120 00121 # u n d e f S T R E A M _ R E A D 00122 00123 00124 00125 v i r t u a l b o o l R e a d I n t 1 6 ( i n t 1 6 & v a l u e ) = 0 ; 00126 00127 v i r t u a l b o o l R e a d I n t 3 2 ( i n t 3 2 & v a l u e ) = 0 ; 00128 00129 v i r t u a l b o o l R e a d I n t 6 4 ( i n t 6 4 & v a l u e ) = 0 ; 00130 00131 00132 00133 v i r t u a l b o o l R e a d U i n t 1 6 ( u i n t 1 6 & v a l u e ) = 0 ; 00134 00135 v i r t u a l b o o l R e a d U i n t 3 2 ( u i n t 3 2 & v a l u e ) = 0 ; 00136 00137 v i r t u a l b o o l R e a d U i n t 6 4 ( u i n t 6 4 & v a l u e ) = 0 ; 00138 00139 00140 00141 v i r t u a l b o o l R e a d W i d e C h a r ( w c h a r _ t & v a l u e ) = 0 ; 00142 00143 v i r t u a l b o o l R e a d F l o a t ( f l o a t & v a l u e ) = 0 ; 00144 00145 v i r t u a l b o o l R e a d D o u b l e ( d o u b l e & v a l u e ) = 0 ; 00146 00147 00148 00149 / * * 00150 00151 * ^{|WpencS< / p > 00152 00153 * (WYs^Sm(uv`QN 00154 NO(udkQpeNMQ b 00155 NTs^Spenc[(~g 00156 N Nv`Q 00157 00158 * / 00159 00160 t e m p l a t e < t y p e n a m e T > b o o l R e a d ( T & d a t a ) 00161 00162 { 00163 00164 r e t u r n R e a d ( & d a t a , s i z e o f ( T ) ) = = s i z e o f ( T ) ; 00165 00166 } 00167 00168 00169 00170 / * * 00171 00172 * ^{|Wpenc5RS< / p > 00173 00174 * (WYs^Sm(uv`QN 00175 NO(udkQpeNMQ b 00176 NTs^Spenc[(~g 00177 N Nv`Q 00178 00179 * @ p a r a m d a t a pencX[>e:S 00180 00181 * @ p a r a m c o u n t penc*Npe 00182 00183 * @ r e t u r n [(eQvpenc*Npe 00184 00185 * @ r e t u r n < 0 Q 00186 00187 * / 00188 00189 t e m p l a t e < t y p e n a m e T > i n t 6 4 R e a d A r r a y s ( T * d a t a , i n t 6 4 c o u n t ) 00190 00191 { 00192 00193 r e t u r n R e a d ( d a t a , c o u n t * s i z e o f ( T ) ) / s i z e o f ( T ) ; 00194 00195 } 00196 00197 00198 00199 / * * 00200 00201 * ꁚ[IN{|Wpenc5RS< / p > 00202 00203 * (WYs^Sm(uv`QN 00204 NO(udkQpeNMQ b 00205 NTs^Spenc[(~g 00206 N Nv`Q 00207 00208 * @ p a r a m c o u n t penc*Npe 00209 00210 * @ r e t u r n [(eQvpenccO(ud e l e t e [ ] ʑ>e 00211 00212 * @ r e t u r n N U L L Q 00213 00214 * / 00215 00216 t e m p l a t e < t y p e n a m e T > T * R e a d A r r a y s ( i n t 6 4 c o u n t ) 00217 00218 { 00219 00220 T * d a t a = n e w T [ c o u n t ] ; 00221 00222 00223 00224 i f ( d a t a = = 0 ) r e t u r n ( f a l s e ) ; 00225 00226 00227 00228 i f ( R e a d A r r a y s ( d a t a , c o u n t ) ! = c o u n t ) 00229 00230 { 00231 00232 d e l e t e [ ] d a t a ; 00233 00234 r e t u r n f a l s e ; 00235 00236 } 00237 00238 00239 00240 r e t u r n d a t a ; 00241 00242 } 00243 00244 00245 00246 v i r t u a l b o o l R e a d U T F 1 6 L E C h a r s ( w c h a r _ t * , i n t ) ; / / / < Su t f 1 6 - l e <h_W[&{5R0Rw c h a r _ t * 00247 00248 v i r t u a l b o o l R e a d U T F 1 6 B E C h a r s ( w c h a r _ t * , i n t ) ; / / / < Su t f 1 6 - b e <h_W[&{5R0Rw c h a r _ t * 00249 00250 00251 00252 v i r t u a l b o o l R e a d U T F 8 S t r i n g ( W i d e S t r i n g & ) ; / / / < Su t f 8 <h_W[&{2N( MR VW[vW[&{2NW[^) 00253 00254 v i r t u a l b o o l R e a d U T F 1 6 L E S t r i n g ( W i d e S t r i n g & ) ; / / / < Su t f 1 6 - l e <h_W[&{2N( MR VW[vW[&{2NW[^) 00255 00256 v i r t u a l b o o l R e a d U T F 1 6 B E S t r i n g ( W i d e S t r i n g & ) ; / / / < Su t f 1 6 - b e <h_W[&{2N( MR VW[vW[&{2NW[^) 00257 00258 } ; / / c l a s s D a t a I n p u t S t r e a m 00259 00260 } / / n a m e s p a c e i o 00261 00262 } / / n a m e s p a c e h g l 00263 00264 # i n c l u d e < h g l / i o / E n d i a n D a t a I n p u t S t r e a m . H > 00265 00266 # e n d i f / / H G L _ I O _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00267 00268