CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/io/DataInputStream.H
浏览该文件的文档。
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(udkQpeNMQ b
00155 NTs^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(udkQpeNMQ b
00176 NTs^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(udkQpeNMQ b
00205 NTs^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   [(eQvpenccO(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  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义