CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/io/DataOutputStream.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ I O _ D A T A _ O U T 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 _ O U T 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 / O u t 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   O u t p u t S t r e a m ; 
00020  
00021  
00022  
00023          / * * 
00024  
00025          *   <h_pencQAmW{|
00026  
00027          * / 
00028  
00029          c l a s s   D a t a O u t p u t S t r e a m                                                                         / / / <h_pencQAmW{|
00030  
00031          { 
00032  
00033          p r o t e c t e d : 
00034  
00035  
00036  
00037              O u t p u t S t r e a m   * o u t ; 
00038  
00039  
00040  
00041          p r o t e c t e d : 
00042  
00043              
00044  
00045              t e m p l a t e < i n t , c h a r   T > 
00046  
00047              b o o l   W r i t e U T F 1 6 C h a r s ( c o n s t   w c h a r _ t   * w i d e _ s t r , i n t 6 4   c o u n t ) ; 
00048  
00049  
00050  
00051          p u b l i c : 
00052  
00053  
00054  
00055              D a t a O u t p u t S t r e a m ( O u t p u t S t r e a m   * o s ) 
00056  
00057              { 
00058  
00059                  o u t = o s ; 
00060  
00061              } 
00062  
00063  
00064  
00065              v i r t u a l   ~ D a t a O u t p u t S t r e a m ( ) 
00066  
00067              { 
00068  
00069              } 
00070  
00071  
00072  
00073              v i r t u a l   i n t 6 4   W r i t e ( c o n s t   v o i d   * b u f , i n t 6 4   s i z e ) 
00074  
00075              { 
00076  
00077                  i f ( ! b u f | | s i z e < 0 ) r e t u r n ( - 1 ) ; 
00078  
00079  
00080  
00081                  r e t u r n ( o u t ? o u t - > W r i t e ( b u f , s i z e ) : - 1 ) ; 
00082  
00083              } 
00084  
00085  
00086  
00087              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 ) 
00088  
00089              { 
00090  
00091                  r e t u r n ( o u t ? o u t - > S e e k ( o f f s e t , s o ) : - 1 ) ; 
00092  
00093              } 
00094  
00095  
00096  
00097              # d e f i n e   S T R E A M _ W R I T E ( t y p e , n a m e )   v i r t u a l   b o o l   W r i t e # # n a m e ( c o n s t   t y p e   & v a l u e ) { r e t u r n ( W r i t e ( & 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 ) ) ) ; } 
00098  
00099  
00100  
00101              S T R E A M _ W R I T E ( c h a r ,         C h a r     ) ; 
00102  
00103              S T R E A M _ W R I T E ( b o o l ,         B o o l     ) ; 
00104  
00105              S T R E A M _ W R I T E ( i n t 8 ,         I n t 8     ) ; 
00106  
00107              S T R E A M _ W R I T E ( u i n t 8 ,       U i n t 8   ) ; 
00108  
00109  
00110  
00111              # u n d e f   S T R E A M _ W R I T E 
00112  
00113  
00114  
00115              v i r t u a l   b o o l   W r i t e I n t 1 6       ( c o n s t   i n t 1 6   &     v a l u e ) = 0 ; 
00116  
00117              v i r t u a l   b o o l   W r i t e I n t 3 2       ( c o n s t   i n t 3 2   &     v a l u e ) = 0 ; 
00118  
00119              v i r t u a l   b o o l   W r i t e I n t 6 4       ( c o n s t   i n t 6 4   &     v a l u e ) = 0 ; 
00120  
00121  
00122  
00123              v i r t u a l   b o o l   W r i t e U i n t 1 6     ( c o n s t   u i n t 1 6   &   v a l u e ) = 0 ; 
00124  
00125              v i r t u a l   b o o l   W r i t e U i n t 3 2     ( c o n s t   u i n t 3 2   &   v a l u e ) = 0 ; 
00126  
00127              v i r t u a l   b o o l   W r i t e U i n t 6 4     ( c o n s t   u i n t 6 4   &   v a l u e ) = 0 ; 
00128  
00129  
00130  
00131              v i r t u a l   b o o l   W r i t e W i d e C h a r     ( c o n s t   w c h a r _ t   & v a l u e ) = 0 ; 
00132  
00133              v i r t u a l   b o o l   W r i t e F l o a t       ( c o n s t   f l o a t   &     v a l u e ) = 0 ; 
00134  
00135              v i r t u a l   b o o l   W r i t e D o u b l e     ( c o n s t   d o u b l e   &   v a l u e ) = 0 ; 
00136  
00137              
00138  
00139              / * * 
00140  
00141              *   ^{|WpencQeQ< / p > 
00142  
00143              *   (WYs^Sm(uv`QN
00144 NO(udkQpeNMQ b
00145 NTs^Spenc[(~g
00146 N Nv`Q
00147  
00148              * / 
00149  
00150              t e m p l a t e < t y p e n a m e   T >   b o o l   W r i t e ( c o n s t   T   & d a t a ) 
00151  
00152              { 
00153  
00154                  r e t u r n   W r i t e ( & d a t a , s i z e o f ( T ) ) = = s i z e o f ( T ) ; 
00155  
00156              } 
00157  
00158  
00159  
00160              / * * 
00161  
00162              *   ^{|Wpenc5RQeQ< / p > 
00163  
00164              *   (WYs^Sm(uv`QN
00165 NO(udkQpeNMQ b
00166 NTs^Spenc[(~g
00167 N Nv`Q
00168  
00169              *   @ p a r a m   d a t a   penc
00170  
00171              *   @ p a r a m   c o u n t   penc*Npe
00172  
00173              *   @ r e t u r n   [(QeQvpenc*Npe
00174  
00175              *   @ r e t u r n   - 1   Q
00176  
00177              * / 
00178  
00179              t e m p l a t e < t y p e n a m e   T >   i n t 6 4   W r i t e A r r a y s ( c o n s t   T   * d a t a , i n t 6 4   c o u n t ) 
00180  
00181              { 
00182  
00183                  r e t u r n   W r i t e ( d a t a , c o u n t * s i z e o f ( T ) ) / s i z e o f ( T ) ; 
00184  
00185              } 
00186  
00187  
00188  
00189              v i r t u a l   b o o l   W r i t e C h a r s ( c o n s t   c h a r   * s t r , i n t 6 4   c o u n t ) 
00190  
00191              { 
00192  
00193                  i f ( c o u n t = = 0 ) r e t u r n ( t r u e ) ; 
00194  
00195  
00196  
00197                  i f ( ! s t r | | ! * s t r | | c o u n t < 0 ) r e t u r n ( f a l s e ) ; 
00198  
00199  
00200  
00201                  r e t u r n ( W r i t e A r r a y s ( s t r , c o u n t ) = = c o u n t ) ; 
00202  
00203              } 
00204  
00205  
00206  
00207              v i r t u a l   b o o l   W r i t e U T F 1 6 L E C h a r s     ( c o n s t   w c h a r _ t   * , i n t 6 4 ) ;                                 / / / <    cu t f 1 6 - l e <h_QeQw c h a r _ t   * -NvW[&{5R
00208  
00209              v i r t u a l   b o o l   W r i t e U T F 1 6 B E C h a r s     ( c o n s t   w c h a r _ t   * , i n t 6 4 ) ;                                 / / / <    cu t f 1 6 - b e <h_QeQw c h a r _ t   * -NvW[&{5R
00210  
00211  
00212  
00213              v i r t u a l   b o o l   W r i t e U T F 1 6 L E C h a r s     ( c o n s t   W i d e S t r i n g   & s t r ) { r e t u r n   W r i t e U T F 1 6 L E C h a r s ( s t r . w c _ s t r ( ) , s t r . L e n g t h ) ; } 
00214  
00215              v i r t u a l   b o o l   W r i t e U T F 1 6 B E C h a r s     ( c o n s t   W i d e S t r i n g   & s t r ) { r e t u r n   W r i t e U T F 1 6 B E C h a r s ( s t r . w c _ s t r ( ) , s t r . L e n g t h ) ; } 
00216  
00217  
00218  
00219              v i r t u a l   b o o l   W r i t e U T F 8 S t r i n g     ( c o n s t   W i d e S t r i n g   & ) ;                                   / / / <    cu t f 8 <h_QeQW[&{2N
00220  
00221              v i r t u a l   b o o l   W r i t e U T F 1 6 L E S t r i n g   ( c o n s t   W i d e S t r i n g   & ) ;                                   / / / <    cu t f 1 6 - l e <h_QeQW[&{2N
00222  
00223              v i r t u a l   b o o l   W r i t e U T F 1 6 B E S t r i n g   ( c o n s t   W i d e S t r i n g   & ) ;                                   / / / <    cu t f 1 6 - b e <h_QeQW[&{2N
00224  
00225          } ; / / c l a s s   D a t a O u t p u t S t r e a m 
00226  
00227      } / / n a m e s p a c e   i o 
00228  
00229  } / / n a m e s p a c e   h g l 
00230  
00231  # i n c l u d e < h g l / i o / E n d i a n D a t a O u t p u t S t r e a m . H > 
00232  
00233  # e n d i f / / H G L _ I O _ D A T A _ O U T P U T _ S T R E A M _ I N C L U D E s 
00234  
00235  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义