CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/BitArray.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ B I T A R R A Y _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ B I T A R R A Y _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013          c l a s s   S t r e a m ; 
00014  
00015  
00016  
00017          / * * 
00018  
00019          *   MOR(uNYt  cMOOX[vpenc[SN   cMOSTQeQ
00020  
00021          * / 
00022  
00023          c l a s s   B i t A r r a y                                                                                                                                                                     / / / MOR
00024  
00025          { 
00026  
00027                  b o o l   m a p p i n g ; 
00028  
00029  
00030  
00031                  i n t   b y t e _ s i z e ; 
00032  
00033                  i n t   c o u n t , p o s ; 
00034  
00035                  u i n t 8   * d a t a ; 
00036  
00037  
00038  
00039      p r i v a t e : 
00040  
00041      
00042  
00043          i n t   G e t C o u n t ( ) { r e t u r n   c o u n t ; } 
00044  
00045          v o i d   S e t C o u n t ( i n t ) ; 
00046  
00047  
00048  
00049          i n t   G e t B y t e S i z e ( ) { r e t u r n   b y t e _ s i z e ; } 
00050  
00051  
00052  
00053          i n t   G e t P o s ( ) { r e t u r n   p o s ; } 
00054  
00055          v o i d   S e t P o s ( i n t ) ; 
00056  
00057  
00058  
00059          u i n t 8   * G e t D a t a ( ) { r e t u r n   d a t a ; } 
00060  
00061  
00062  
00063          v o i d   I n i t P r i v a t e ( ) ; 
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^
00072  
00073          P r o p e r t y < i n t >       B y t e S i z e ;                                                               / / / < W[^
00074  
00075          P r o p e r t y < i n t >       P o s i t i o n ;                                                                                                                               / / / < S_MRMOn
00076  
00077          P r o p e r t y < u i n t 8   * >   D a t a ;                                                                                                                                       / / / < penc
00078  
00079  
00080  
00081      p u b l i c : 
00082  
00083  
00084  
00085          B i t A r r a y ( i n t = 0 ) ; 
00086  
00087          B i t A r r a y ( v o i d   * , i n t , b o o l = t r u e ) ; 
00088  
00089          ~ B i t A r r a y ( ) ; 
00090  
00091  
00092  
00093          v o i d   C r e a t e ( i n t ) ;                                                                           / / / < R^penc:S
00094  
00095          v o i d   M a p D a t a ( v o i d   * , i n t ) ;                                                                                                                                       / / / <  f\penc
00096  
00097          v o i d   C l e a r ( ) ;                                                                                                                                                               / / / < nd@b gpenc
00098  
00099  
00100  
00101          v o i d   F i l l ( b o o l ) ;                                                                             / / / < kXEQpenc
00102  
00103  
00104  
00105          b o o l   W r i t e Z e r o ( ) ;                                                                                                                                                       / / / < QeQ NMO0 
00106  
00107          b o o l   W r i t e O n e ( ) ;                                                                                                                                                         / / / < QeQ NMO1 
00108  
00109  
00110  
00111          b o o l   W r i t e T r u e ( ) { r e t u r n   W r i t e O n e ( ) ; }                                                                                                                 / / / < QeQ NMOw( sS1 ) 
00112  
00113          b o o l   W r i t e F a l s e ( ) { r e t u r n   W r i t e Z e r o ( ) ; }                                                                                                             / / / < QeQ NMOGP( sS0 ) 
00114  
00115  
00116  
00117          b o o l   W r i t e B i t ( b o o l   b i t )                                                                                                                                           / / / < QeQ NMOpenc
00118  
00119              { r e t u r n ( b i t ? W r i t e O n e ( ) : W r i t e Z e r o ( ) ) ; } 
00120  
00121          b o o l   W r i t e B y t e ( u n s i g n e d   _ _ i n t 8   * , i n t ) ;                                                                                                             / / / <    cW[QeQpenc
00122  
00123  
00124  
00125          b o o l   R e a d B i t ( b o o l   & ) ;                                                                                                                                               / / / < S NMO
00126  
00127  
00128  
00129          b o o l   F l i p B i t ( ) ;                                                                                                                                                           / / / < l NMO
00130  
00131          b o o l   F l i p B i t ( i n t   o )                                                                                                                                                   / / / < lc[MO
00132  
00133              { P o s i t i o n = o ; r e t u r n ( F l i p B i t ( ) ) ; } 
00134  
00135  
00136  
00137          b o o l   R e a d P o s (   i n t   o , b o o l   & b i t ) c o n s t ;                                                         / / / < Sc[MO
00138  
00139          b o o l   W r i t e P o s (     i n t   o , b o o l   b i t ) ;                                                             / / / < QeQ NMOpenc
00140  
00141  
00142  
00143                  b o o l   S a v e T o S t r e a m ( S t r e a m   * ) ;                                                                                                                                 / / / < OX[S_MRMO5Rpenc0RAm
00144  
00145                  b o o l   L o a d F r o m S t r e a m ( S t r e a m   * ) ;                                                                                                                             / / / < NAm-NSMO5Rpenc
00146  
00147                  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   * ) ;                                                                                                                       / / / < OX[S_MRMO5Rpenc0ReN
00148  
00149                  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   * ) ;                                                                                                                   / / / < NeN-NSMO5Rpenc
00150  
00151  
00152  
00153          p u b l i c :   / / d\O&{͑}
00154  
00155  
00156  
00157          B i t A r r a y   &   o p e r a t o r   = ( c o n s t   B i t A r r a y   & ) ;                                                     / / / < = S͑}
00158  
00159  
00160  
00161          B i t A r r a y   &   o p e r a t o r   + = ( c o n s t   B i t A r r a y   & ) ;                                                   / / / < + 
00162  
00163          B i t A r r a y   &   o p e r a t o r   - = ( c o n s t   B i t A r r a y   & ) ;                                                   / / / < - 
00164  
00165          B i t A r r a y   &   o p e r a t o r   * = ( c o n s t   B i t A r r a y   & ) ;                                                   / / / < * 
00166  
00167  
00168  
00169          b o o l   o p e r a t o r   = =   ( c o n s t   B i t A r r a y   & )   c o n s t ; 
00170  
00171          b o o l   o p e r a t o r   ! =   ( c o n s t   B i t A r r a y   & r h s )   c o n s t   { r e t u r n   ! o p e r a t o r = = ( r h s ) ; } 
00172  
00173      } ; 
00174  
00175  } / / n a m e s p a c e   h g l 
00176  
00177  # e n d i f / / H G L _ B I T A R R A Y _ I N C L U D E ; 
00178  
00179  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义