CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/WideString.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ W I D E _ S T R I N G _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ W I D E _ S T R I N G _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / C o d e P a g e . H > 
00008  
00009  # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 
00010  
00011  # i n c l u d e < h g l / t y p e / W i d e S t r i n g . P r i v a t e . H > 
00012  
00013  # i n c l u d e < h g l / C o m p O p e r a t o r . H > 
00014  
00015  n a m e s p a c e   h g l 
00016  
00017  {   
00018  
00019      c l a s s   P r o p e r t y S t r i n g ; 
00020  
00021  
00022  
00023      / * * 
00024  
00025      *   C / C + +   w c h a r _ t   W[&{2NYt{|
00026  
00027      * / 
00028  
00029      c l a s s   W i d e S t r i n g                                                                                 / / / [W[&{2NYt{|
00030  
00031      {                 
00032  
00033          # i n c l u d e < h g l / t y p e / W i d e S t r i n g . O p e r a t o r . H > 
00034  
00035  
00036  
00037          v o i d   I n i t ( ) ; 
00038  
00039  
00040  
00041      p r o t e c t e d : 
00042  
00043  
00044  
00045          P r i v a t e S t r i n g   * d a t a ; 
00046  
00047  
00048  
00049          w c h a r _ t   * G e t S t r i n g ( ) c o n s t   { r e t u r n ( t h i s ? ( d a t a ? d a t a - > s t r : N U L L ) : N U L L ) ; } 
00050  
00051          c o n s t   i n t   G e t L e n g t h ( ) c o n s t   { r e t u r n ( t h i s ? ( d a t a ? d a t a - > l e n g t h : N U L L ) : 0 ) ; } 
00052  
00053  
00054  
00055          v o i d   C l e a r S t r i n g ( ) ; 
00056  
00057          v o i d   C o p y S t r i n g ( c o n s t   W i d e S t r i n g   & ) ; 
00058  
00059  
00060  
00061      p u b l i c :   / / ^\'`
00062  
00063  
00064  
00065          P r o p e r t y < c o n s t   i n t >   L e n g t h ;                                                                                                               / / / < W[&{2N^ZbSϑ
00066  
00067  
00068  
00069      p u b l i c :   / / Qpe
00070  
00071  
00072  
00073          / / g Qpe
00074  
00075          W i d e S t r i n g ( ) ; 
00076  
00077                  W i d e S t r i n g ( c o n s t   c h a r ) ; 
00078  
00079          W i d e S t r i n g ( c o n s t   c h a r   * ) ; 
00080  
00081          W i d e S t r i n g ( c o n s t   w c h a r _ t ) ; 
00082  
00083          W i d e S t r i n g ( c o n s t   w c h a r _ t   * ) ; 
00084  
00085          W i d e S t r i n g ( c o n s t   c h a r   * , i n t ) ; 
00086  
00087          W i d e S t r i n g ( c o n s t   w c h a r _ t   * , i n t ) ; 
00088  
00089          W i d e S t r i n g ( C C P , c o n s t   c h a r   * , i n t = - 1 ) ; 
00090  
00091          W i d e S t r i n g ( c o n s t   W i d e S t r i n g   & ) ; 
00092  
00093          W i d e S t r i n g ( c o n s t   P r o p e r t y S t r i n g   & ) ; 
00094  
00095          W i d e S t r i n g ( i n t ) ; 
00096  
00097          W i d e S t r i n g ( u i n t ) ; 
00098  
00099          W i d e S t r i n g ( i n t 6 4 ) ; 
00100  
00101          W i d e S t r i n g ( u i n t 6 4 ) ; 
00102  
00103          W i d e S t r i n g ( d o u b l e ) ; 
00104  
00105  
00106  
00107          / / ggQpe
00108  
00109          ~ W i d e S t r i n g ( ) ; 
00110  
00111  
00112  
00113      p u b l i c :   / / el
00114  
00115  
00116  
00117          v o i d   S e t S t r i n g ( c o n s t   w c h a r _ t   * , i n t = - 1 , b o o l = f a l s e ) ;                                             / / / < nW[&{2N
00118  
00119          v o i d   E q u S t r i n g ( c o n s t   w c h a r _ t   * s t r , i n t   l e n ) { S e t S t r i n g ( s t r , l e n , t r u e ) ; }                         / / / < nW[&{2Nv^fnx^TSy   g'`
00120  
00121          v o i d   U n l i n k ( ) ;                                                                                                                                                             / / / < TvQ[TQ[vW i d e S t r i n g e _ޏc
00122  
00123  
00124  
00125          / * * 
00126  
00127          *   dkQpeԏV N*NC Θ<h[W[&{2Nc
00128  
00129          * / 
00130  
00131          w c h a r _ t   * w _ s t r ( ) c o n s t { r e t u r n   G e t S t r i n g ( ) ; }                                                     / / / < ԏV N*Nw c h a r _ t   * {|WvW[&{2Nc( Tw c _ s t r ( ) ) 
00132  
00133          w c h a r _ t   * w c _ s t r ( ) c o n s t { r e t u r n   G e t S t r i n g ( ) ; }                                                                                           / / / < ԏV N*Nw c h a r _ t   * {|WvW[&{2Nc( Tw _ s t r ( ) ) 
00134  
00135          w c h a r _ t   * w c _ c o p y ( ) c o n s t ;                                                                     / / / < ԏV N*Nw c h a r _ t   * {|WvW[&{2Nc ]d e l e t e [ ] c
00136  
00137  
00138  
00139          w c h a r _ t   * w c _ o f f s e t ( i n t   o f f ) c o n s t { r e t u r n   G e t S t r i n g ( ) + o f f ; }                                   / / / < ԏV N*Nw c h a r _ t   * {|WvW[&{2Nc
00140  
00141  
00142  
00143          / / K<P(uQpe
00144  
00145          v o i d   C l e a r ( ) { C l e a r S t r i n g ( ) ; }                                                                                                                                 / / / < ndW[&{2Nvpenc
00146  
00147  
00148  
00149          v o i d   C o n v e r t S t r i n g ( C C P , c o n s t   c h a r   * , i n t = - 1 ) ;                                                                                     / / / < lbc N*Nc[Nxvc h a r   * W[&{2N0R,g{|-N
00150  
00151  
00152  
00153          v o i d   S t r c p y ( c o n s t   c h a r   * ) ;                                                                                                                                     / / / < 
00154 Y6R N*NW[&{2N0R,g{|-Neg( c h a r   * ) 
00155  
00156          v o i d   S t r c p y ( C C P   c c p , c o n s t   c h a r   * a s ) { C o n v e r t S t r i n g ( c c p , a s ) ; }                                                                   / / / < 
00157 Y6R N*NW[&{2N0R,g{|-Neg( c h a r   * ) 
00158  
00159          v o i d   S t r c p y ( c o n s t   w c h a r _ t   * ) ;                                                                                                                               / / / < 
00160 Y6R N*NW[&{2N0R,g{|-Neg( w c h a r _ t   * ) 
00161  
00162          v o i d   S t r c p y ( c o n s t   W i d e S t r i n g   & s t r ) { S t r c p y ( s t r . w c _ s t r ( ) ) ; }                                                                       / / / < 
00163 Y6R N*NW[&{2N0R,g{|-Neg
00164  
00165  
00166  
00167          v o i d   S t r c p y ( c o n s t   c h a r   * , i n t ) ;                                                                                                                             / / / < 
00168 Y6R N*NW[&{2N0R,g{|-Neg( c h a r   * ) 
00169  
00170          v o i d   S t r c p y ( c o n s t   w c h a r _ t   * , i n t ) ;                                                                                                                       / / / < 
00171 Y6R N*NW[&{2N0R,g{|-Neg( w c h a r _ t   * ) 
00172  
00173          v o i d   S t r c p y ( c o n s t   W i d e S t r i n g   & s t r , i n t   l e n ) { S t r c p y ( s t r . w c _ s t r ( ) , l e n ) ; }                                               / / / < 
00174 Y6R N*NW[&{2N0R,g{|-Neg
00175  
00176          v o i d   S t r c p y ( c o n s t   W i d e S t r i n g   & s t r , i n t   s t a r t , i n t   l e n )                                         / / / < 
00177 Y6R N*NW[&{2N0R,g{|-Neg
00178  
00179          { 
00180  
00181              i f ( s t a r t < s t r . L e n g t h ) 
00182  
00183                  S t r c p y ( s t r . w c _ s t r ( ) + s t a r t , l e n ) ; 
00184  
00185          } 
00186  
00187  
00188  
00189          v o i d   S t r c a t ( c o n s t   w c h a r _ t ) ;                                                                   / / / < ޏc N*NW[&{0R,g{|W[&{2NvTb
00190  
00191          v o i d   S t r c a t ( c o n s t   c h a r   * ) ;                                                                                                                                     / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb( c h a r   * ) 
00192  
00193          v o i d   S t r c a t ( c o n s t   w c h a r _ t   * ) ;                                                                                                                               / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb( w c h a r _ t   * ) 
00194  
00195          v o i d   S t r c a t ( c o n s t   W i d e S t r i n g   & s t r ) { S t r c a t ( s t r . w c _ s t r ( ) ) ; }                                                                       / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb
00196  
00197  
00198  
00199          v o i d   S t r c a t ( c o n s t   c h a r   * , i n t ) ;                                                                                                                             / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb( c h a r   * ) 
00200  
00201          v o i d   S t r c a t ( c o n s t   w c h a r _ t   * , i n t ) ;                                                                                                                       / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb( w c h a r _ t   * ) 
00202  
00203          v o i d   S t r c a t ( c o n s t   W i d e S t r i n g   & s t r , i n t   l e n ) { S t r c a t ( s t r . w c _ s t r ( ) , l e n ) ; }                                               / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb
00204  
00205          v o i d   S t r c a t ( c o n s t   W i d e S t r i n g   & s t r , i n t   s t a r t , i n t   l e n )                                         / / / < ޏc N*NW[&{2N0R,g{|W[&{2NvTb
00206  
00207          { 
00208  
00209              i f ( s t a r t < s t r . L e n g t h ) 
00210  
00211                  S t r c a t ( s t r . w c _ s t r ( ) + s t a r t , l e n ) ; 
00212  
00213          } 
00214  
00215  
00216  
00217          v o i d   S p r i n t f ( c o n s t   c h a r   * , . . . ) ;                                                                                                                           / / / < [,g{|ۏL<h_SK<P( c h a r   * ) 
00218  
00219          v o i d   C a t S p r i n t f ( c o n s t   c h a r   * , . . . ) ;                                                                                                                     / / / < Nu N*N<h_SW[&{2Nv^mR0R,g{|vW[&{2NTb( c h a r   * ) 
00220  
00221  
00222  
00223          v o i d   S p r i n t f ( C C P , c o n s t   c h a r   * , . . . ) ;                                                                                                                   / / / < [,g{|ۏL<h_SK<P( c h a r   * ) 
00224  
00225          v o i d   C a t S p r i n t f ( C C P , c o n s t   c h a r   * , . . . ) ;                                                                                                             / / / < Nu N*N<h_SW[&{2Nv^mR0R,g{|vW[&{2NTb( c h a r   * ) 
00226  
00227  
00228  
00229          v o i d   S p r i n t f ( c o n s t   w c h a r _ t   * , . . . ) ;                                                                                                                     / / / < [,g{|ۏL<h_SK<P( w c h a r _ t   * ) 
00230  
00231          v o i d   C a t S p r i n t f ( c o n s t   w c h a r _ t   * , . . . ) ;                                                                                                               / / / < Nu N*N<h_SW[&{2Nv^mR0R,g{|vW[&{2NTb( w c h a r _ t   * ) 
00232  
00233  
00234  
00235          / / k
00236  
00237          i n t   S t r c m p ( c o n s t   w c h a r _ t   * )   c o n s t ;                                                                                                                     / / / < NS N*NW[&{2Nk
00238  
00239          i n t   S t r c m p ( c o n s t   W i d e S t r i n g   & )   c o n s t ;                                                                                                               / / / < NS N*NW[&{2Nk
00240  
00241          i n t   S t r c m p ( c o n s t   w c h a r _ t   * , i n t )   c o n s t ;                                                                                                             / / / < NS N*NW[&{2Nk
00242  
00243          i n t   S t r c m p ( c o n s t   W i d e S t r i n g   & , i n t )   c o n s t ;                                                                                                       / / / < NS N*NW[&{2Nk
00244  
00245  
00246  
00247          / / lbc
00248  
00249          i n t           T o A n s i ( c h a r   * s t r = 0 , i n t = 0 , C C P   c c p = c c p G B K ) c o n s t ;                                                                             / / / < \S_MRW[&{2NlbcbA N S I <h_
00250  
00251          i n t       T o A n s i ( c h a r   * * , C C P   c c p = c c p G B K ) c o n s t ;                                                     / / / < \S_MRW[&{2NlbcbA N S I <h_
00252  
00253          i n t       T o U T F 8 ( c h a r   * * ) c o n s t ;                                                               / / / < \S_MRW[&{2NlbcbU T F 8 <h_
00254  
00255  
00256  
00257          b o o l     T o B o o l ( ) c o n s t ;                                                                         / / / < \,g{|-NvW[&{2Nlbcb^\pe<Pv^ԏV
00258  
00259          i n t           T o I n t ( ) c o n s t ;                                                                                                                                               / / / < \,g{|-NvW[&{2NlbcbteWpe<Pv^ԏV
00260  
00261          u i n t     T o U I n t ( ) c o n s t ;                                                                         / / / < \,g{|-NvW[&{2NlbcbteWpe<Pv^ԏV
00262  
00263          d o u b l e     T o F l o a t ( ) c o n s t ;                                                                                                                                           / / / < \,g{|-NvW[&{2Nlbcbnmppe<Pv^ԏV
00264  
00265  
00266  
00267          / / lbc
00268  
00269          v o i d   L o w e r C a s e ( ) ;                                                                                                                                                       / / / < \,g{|-NvW[khQl:N\Q
00270  
00271          v o i d   U p p e r C a s e ( ) ;                                                                                                                                                       / / / < \,g{|-NvW[khQl:N'YQ
00272  
00273  
00274  
00275          / / (uQpe
00276  
00277          v o i d   I n s e r t ( i n t , c o n s t   w c h a r _ t ) ;                                                                                                                           / / / < (Wc[MOnceQ N*NW[&{
00278  
00279          v o i d   I n s e r t ( i n t , c o n s t   w c h a r _ t   * ) ;                                                                                                                       / / / < (Wc[MOnceQ N*NW[&{2N
00280  
00281          v o i d   I n s e r t ( i n t , c o n s t   W i d e S t r i n g   & ) ;                                                                                                                 / / / < (Wc[MOnceQ N*NW[&{2N
00282  
00283          v o i d   D e l e t e ( i n t , i n t ) ;                                                                                                                                               / / / <  Rdc[MOnvc[*NW[&{
00284  
00285  
00286  
00287          v o i d   W r i t e ( i n t , c o n s t   w c h a r _ t   * , i n t   l e n = - 1 ) ;                                                   / / / < (Wc[MOnQeQ N*NW[&{2N
00288  
00289          v o i d   W r i t e ( i n t , c o n s t   W i d e S t r i n g   & ) ;                                                               / / / < (Wc[MOnQeQ N*NW[&{2N
00290  
00291  
00292  
00293          v o i d   T r i m ( ) ;                                                                                                                                                                 / / / <  RdW[&{2NMRTvzz<h
00294  
00295          v o i d   T r i m L e f t ( ) ;                                                                                                                                                         / / / <  RdW[&{2NMRbvzz<h
00296  
00297          v o i d   T r i m R i g h t ( ) ;                                                                                                                                                       / / / <  RdW[&{2NTbvzz<h
00298  
00299  
00300  
00301          v o i d   T r i m L e f t ( i n t   n ) { D e l e t e ( 0 , n ) ; }                                                                                                                     / / / <  RdW[&{2NMRbvr^W[&{
00302  
00303          v o i d   T r i m R i g h t ( i n t   n ) { D e l e t e ( L e n g t h - n , n ) ; }                                                                                                     / / / <  RdW[&{2NTbvr^W[&{
00304  
00305  
00306  
00307          v o i d   C l i p ( i n t , i n t ) ;                                                                           / / / < *bSNc[MOn _Yvc[*NW[&{
00308  
00309          v o i d   C l i p L e f t ( i n t ) ;                                                                                                                                                   / / / < NMRe*bSc[*NW[&{
00310  
00311          v o i d   C l i p R i g h t ( i n t ) ;                                                                                                                                                 / / / < N~>\*bSc[*NW[&{
00312  
00313  
00314  
00315                  w c h a r _ t   G e t C h a r ( i n t )   c o n s t ; 
00316  
00317          v o i d   S e t C h a r ( i n t , w c h a r _ t ) ; 
00318  
00319  
00320  
00321          v o i d   F i l l C h a r ( w c h a r _ t ) ;                                                                       / / / < kXEQW[&{2N
00322  
00323  
00324  
00325          w c h a r _ t   o p e r a t o r   [ ] ( i n t   n ) c o n s t { r e t u r n   G e t C h a r ( n ) ; } 
00326  
00327  
00328  
00329          i n t   S t a t C h a r ( w c h a r _ t )   c o n s t ;                                                                                                                                 / / / < ~W[&{2N-Ng*NW[&{v*Npe
00330  
00331          i n t   S t a t L i n e ( )   c o n s t ;                                                                                                                                               / / / < ~Lpe
00332  
00333  
00334  
00335          i n t   F i n d C h a r ( w c h a r _ t )   c o n s t ;                                                                 / / / < ԏVS_MRW[&{2N-Nc[W[&{ _Yv"}_( N]S) 
00336  
00337          i n t   F i n d C h a r ( i n t , w c h a r _ t )   c o n s t ;                                                             / / / < ԏVS_MRW[&{2N-Nc[W[&{ _Yv"}_( N]S) 
00338  
00339          i n t   F i n d R i g h t C h a r ( w c h a r _ t )   c o n s t ;                                                           / / / < ԏVS_MRW[&{2N-Nc[W[&{ _Yv"}_( NS]) 
00340  
00341          i n t   F i n d S t r i n g ( c o n s t   W i d e S t r i n g   & )   c o n s t ;                                                                                                       / / / < ԏVS_MRW[&{2N-Nc[P[2N _Yv"}_
00342  
00343  
00344  
00345          w c h a r _ t   * S t r C h r ( w c h a r _ t   c h )   c o n s t ;                                                             / / / < ԏVS_MRW[&{2N-Nc[W[&{@b(WvMOn( N]S) 
00346  
00347          w c h a r _ t   * S t r R C h r ( w c h a r _ t   c h )   c o n s t ;                                                           / / / < ԏVS_MRW[&{2N-Nc[W[&{@b(WvMOn( NS]) 
00348  
00349  
00350  
00351          b o o l   C l e a r S u b S t r i n g ( c o n s t   W i d e S t r i n g   & ) ;                                                     / / / < ndS_MRW[&{2N-Nc[P[2N
00352  
00353  
00354  
00355          v o i d   R e p l a c e C h a r ( w c h a r _ t , w c h a r _ t ) ;                                                             / / / < fbcW[&{
00356  
00357      } ; / / c l a s s   W i d e S t r i n g 
00358  
00359  
00360  
00361      / / NNd\O&{͑}~rzYx x x ( L " A B C " + s t r ) O(u
00362  
00363      / / W i d e S t r i n g . O p e r a t o r . H -Nv+ ͑}^\SY Ny`Q
00364  
00365  
00366  
00367      # d e f i n e   o p e r _ o v e r ( t y p e )   i n l i n e   W i d e S t r i n g   o p e r a t o r   +   ( c o n s t   t y p e   v a l , c o n s t   W i d e S t r i n g   & s t r )   \ 
00368  
00369                              {   \ 
00370  
00371                                  W i d e S t r i n g   n e w _ s t r ( v a l ) ;     \ 
00372  
00373                                  \ 
00374  
00375                                  n e w _ s t r . S t r c a t ( s t r . w c _ s t r ( ) ) ;   \ 
00376  
00377                                  \ 
00378  
00379                                  r e t u r n ( n e w _ s t r ) ;     \ 
00380  
00381                              } 
00382  
00383  
00384  
00385      o p e r _ o v e r ( c h a r ) ; 
00386  
00387      o p e r _ o v e r ( w c h a r _ t ) ; 
00388  
00389      o p e r _ o v e r ( i n t ) ; 
00390  
00391      o p e r _ o v e r ( u i n t ) ; 
00392  
00393      o p e r _ o v e r ( i n t 6 4 ) ; 
00394  
00395      o p e r _ o v e r ( u i n t 6 4 ) ; 
00396  
00397      o p e r _ o v e r ( d o u b l e ) ; 
00398  
00399      o p e r _ o v e r ( c h a r   * ) ; 
00400  
00401      o p e r _ o v e r ( w c h a r _ t   * ) ; 
00402  
00403  
00404  
00405      # u n d e f   o p e r _ o v e r 
00406  
00407  
00408  
00409      t e m p l a t e < t y p e n a m e   T >   W i d e S t r i n g   B i n a r y T o S t r ( c o n s t   T   & v a l u e ) 
00410  
00411      { 
00412  
00413          c o n s t   i n t   l e n = s i z e o f ( T ) < < 3 ; 
00414  
00415  
00416  
00417          S h a r e d A r r a y < w c h a r _ t >   w i d e _ s t r = n e w   w c h a r _ t [ l e n + 1 ] ; 
00418  
00419          w c h a r _ t   * t p = w i d e _ s t r + l e n ; 
00420  
00421  
00422  
00423          * t p - - = 0 ; 
00424  
00425  
00426  
00427          f o r ( i n t   i = 0 ; i < l e n ; i + + ) 
00428  
00429          { 
00430  
00431              * t p - - = L ' 0 ' + ( v a l u e & 1 ) ; 
00432  
00433              v a l u e > > = 1 ; 
00434  
00435          } 
00436  
00437  
00438  
00439          r e t u r n   W i d e S t r i n g ( w i d e _ s t r ) ; 
00440  
00441      } 
00442  
00443  
00444  
00445      W i d e S t r i n g   H e x T o S t r ( c o n s t   u i n t 8   * d a t a , c o n s t   i n t   b y t e s , b o o l   u p p e r = t r u e ) ; 
00446  
00447  
00448  
00449      t e m p l a t e < t y p e n a m e   T >   W i d e S t r i n g   H e x T o S t r ( c o n s t   T   & v a l u e , b o o l   u p p e r = t r u e )                                 / / / < lbcpe<P0R1 6 ۏ6RW[&{2N
00450  
00451      {       
00452  
00453          c o n s t   w c h a r _ t   * c o n v = H e x C h a r [ u p p e r ? 0 : 1 ] ; 
00454  
00455  
00456  
00457          c o n s t   i n t   l e n = s i z e o f ( T ) < < 1 ; 
00458  
00459  
00460  
00461          S h a r e d A r r a y < w c h a r _ t >   w i d e _ s t r = n e w   w c h a r _ t [ l e n + 1 ] ; 
00462  
00463          w c h a r _ t   * t p = w i d e _ s t r + l e n ; 
00464  
00465  
00466  
00467          * t p - - = 0 ; 
00468  
00469  
00470  
00471          f o r ( i n t   i = 0 ; i < l e n ; i + + ) 
00472  
00473          { 
00474  
00475              * t p - - = c o n v [ v a l u e & 0 x 0 F ] ; 
00476  
00477              v a l u e > > = 4 ; 
00478  
00479          } 
00480  
00481  
00482  
00483          r e t u r n   W i d e S t r i n g ( w i d e _ s t r ) ; 
00484  
00485      } 
00486  
00487  
00488  
00489      / * * 
00490  
00491      *   \teWpelbcbW[&{2N
00492  
00493      *   @ p a r a m   n   lbcvpe<P
00494  
00495      *   @ r e t u r n   lbcTvW[&{2N
00496  
00497      * / 
00498  
00499      i n l i n e   W i d e S t r i n g   I n t T o S t r       ( i n t 6 4     n ) { r e t u r n ( W i d e S t r i n g ( n ) ) ; }                                                                                   / / / < lbcteWpe0RW i d e S t r i n g 
00500  
00501  
00502  
00503      / * * 
00504  
00505      *   \teWpelbcbW[&{2N
00506  
00507      *   @ p a r a m   n   lbcvpe<P
00508  
00509      *   @ r e t u r n   lbcTvW[&{2N
00510  
00511      * / 
00512  
00513      i n l i n e   W i d e S t r i n g   U I n t T o S t r       ( u i n t 6 4   n ) { r e t u r n ( W i d e S t r i n g ( n ) ) ; }                                                                                 / / / < lbcteWpe0RW i d e S t r i n g 
00514  
00515  
00516  
00517      / * * 
00518  
00519      *   \ N*NnmppelbcbW[&{2N
00520  
00521      *   @ p a r a m   n   lbcvpe<P
00522  
00523      *   @ r e t u r n   lbcTvW[&{2N
00524  
00525      * / 
00526  
00527      i n l i n e   W i d e S t r i n g   F l o a t T o S t r   ( d o u b l e   n ) { r e t u r n ( W i d e S t r i n g ( n ) ) ; }                                                                                   / / / < lbcnmppe0RW i d e S t r i n g 
00528  
00529  
00530  
00531      / * * 
00532  
00533      *   Qpe\ N*N{De[ϑ<PlbcbW[&{2N
00534  
00535      *   O!kO(uB , K , M , G , T , P 
00536  
00537      * / 
00538  
00539      v o i d   I n t T o S i z e ( W i d e S t r i n g   & , u i n t 6 4 ) ; 
00540  
00541  
00542  
00543      / * * 
00544  
00545      *   W[&{2N^\'`
00546  
00547      * / 
00548  
00549      c l a s s   P r o p e r t y S t r i n g 
00550  
00551      { 
00552  
00553          W i d e S t r i n g   * t r u e _ s t r ; 
00554  
00555  
00556  
00557          c o n s t   i n t   G e t L e n g t h ( ) { r e t u r n   t r u e _ s t r ? t r u e _ s t r - > L e n g t h : 0 ; } 
00558  
00559  
00560  
00561      p u b l i c :   / / NN
00562  
00563  
00564  
00565          D e f E v e n t ( v o i d , O n G e t , ( ) ) ; 
00566  
00567          D e f E v e n t ( v o i d , O n S e t , ( ) ) ; 
00568  
00569  
00570  
00571      p u b l i c :   / / ^\'`
00572  
00573  
00574  
00575          P r o p e r t y < c o n s t   i n t >   L e n g t h ;                                                                                                               / / / < W[&{2N^ZbSϑ
00576  
00577  
00578  
00579      p u b l i c : 
00580  
00581  
00582  
00583          P r o p e r t y S t r i n g ( ) 
00584  
00585          { 
00586  
00587              O n G e t = N U L L ; 
00588  
00589              O n S e t = N U L L ; 
00590  
00591  
00592  
00593              t r u e _ s t r = N U L L ; 
00594  
00595  
00596  
00597              h g l S e t P r o p e r t y R e a d ( L e n g t h , t h i s , P r o p e r t y S t r i n g : : G e t L e n g t h ) ; 
00598  
00599          } 
00600  
00601  
00602  
00603          P r o p e r t y S t r i n g ( W i d e S t r i n g   & s t r ) 
00604  
00605          { 
00606  
00607              O n G e t = N U L L ; 
00608  
00609              O n S e t = N U L L ; 
00610  
00611  
00612  
00613              t r u e _ s t r = & s t r ; 
00614  
00615  
00616  
00617              h g l S e t P r o p e r t y R e a d ( L e n g t h , t h i s , P r o p e r t y S t r i n g : : G e t L e n g t h ) ; 
00618  
00619          } 
00620  
00621  
00622  
00623          v o i d   S e t ( W i d e S t r i n g   & s t r ) 
00624  
00625          { 
00626  
00627                      t r u e _ s t r = & s t r ; 
00628  
00629          } 
00630  
00631  
00632  
00633          v o i d   C l e a r ( ) 
00634  
00635          { 
00636  
00637              i f ( t r u e _ s t r ) 
00638  
00639                              t r u e _ s t r - > C l e a r ( ) ; 
00640  
00641          } 
00642  
00643  
00644  
00645          W i d e S t r i n g   * o p e r a t o r   - > ( ) c o n s t { r e t u r n   t r u e _ s t r ; } 
00646  
00647  
00648  
00649          c o n s t   P r o p e r t y S t r i n g   & o p e r a t o r   =   ( c o n s t   P r o p e r t y S t r i n g   & p s ) 
00650  
00651          { 
00652  
00653              i f ( * t r u e _ s t r ! = * ( p s . t r u e _ s t r ) ) 
00654  
00655              { 
00656  
00657                  * t r u e _ s t r = * ( p s . t r u e _ s t r ) ; 
00658  
00659  
00660  
00661                  S a f e C a l l E v e n t ( O n S e t , ( ) ) ; 
00662  
00663              } 
00664  
00665  
00666  
00667              r e t u r n   * t h i s ; 
00668  
00669          } 
00670  
00671  
00672  
00673          # d e f i n e   o p e r _ o v e r ( t y p e )   b o o l   o p e r a t o r   t y p e   ( c o n s t   P r o p e r t y S t r i n g   & s t r )   c o n s t     \ 
00674  
00675                                  {   \ 
00676  
00677                                      i f ( ! t r u e _ s t r )   \ 
00678  
00679                                      {   \ 
00680  
00681                                          i f ( ! s t r . t r u e _ s t r )   \ 
00682  
00683                                              r e t u r n   0   t y p e   1 ;     \ 
00684  
00685                                          e l s e     \ 
00686  
00687                                              r e t u r n   0   t y p e   0 ;     \ 
00688  
00689                                      }   \ 
00690  
00691                                      e l s e   \ 
00692  
00693                                      {   \ 
00694  
00695                                          i f ( ! s t r . t r u e _ s t r )   \ 
00696  
00697                                              r e t u r n   1   t y p e   0 ;     \ 
00698  
00699                                          e l s e     \ 
00700  
00701                                              r e t u r n   * t r u e _ s t r   t y p e   * s t r . t r u e _ s t r ;     \ 
00702  
00703                                      }   \ 
00704  
00705                                  } 
00706  
00707  
00708  
00709          o p e r _ o v e r ( = = ) ; 
00710  
00711          o p e r _ o v e r ( ! = ) ; 
00712  
00713          o p e r _ o v e r ( >   ) ; 
00714  
00715          o p e r _ o v e r ( <   ) ; 
00716  
00717          o p e r _ o v e r ( > = ) ; 
00718  
00719          o p e r _ o v e r ( < = ) ; 
00720  
00721  
00722  
00723          # u n d e f   o p e r _ o v e r 
00724  
00725  
00726  
00727          # d e f i n e   p s _ o p e r ( t y p e )   v o i d   o p e r a t o r   =   ( t y p e   v a l ) { i f ( t r u e _ s t r ) * t r u e _ s t r = v a l ; S a f e C a l l E v e n t ( O n S e t , ( ) ) ; }     
00728  
00729  
00730  
00731          p s _ o p e r ( c o n s t   c h a r ) ; 
00732  
00733          p s _ o p e r ( c o n s t   c h a r   * ) ; 
00734  
00735          p s _ o p e r ( c o n s t   w c h a r _ t ) ; 
00736  
00737          p s _ o p e r ( c o n s t   w c h a r _ t   * ) ; 
00738  
00739          p s _ o p e r ( c o n s t   W i d e S t r i n g   & ) ; 
00740  
00741          p s _ o p e r ( i n t ) ; 
00742  
00743          p s _ o p e r ( u i n t ) ; 
00744  
00745          p s _ o p e r ( i n t 6 4 ) ; 
00746  
00747          p s _ o p e r ( u i n t 6 4 ) ; 
00748  
00749          p s _ o p e r ( d o u b l e ) ; 
00750  
00751  
00752  
00753          # u n d e f   p s _ o p e r 
00754  
00755  
00756  
00757          o p e r a t o r   c o n s t   w c h a r _ t   * ( )     c o n s t { S a f e C a l l E v e n t ( O n G e t , ( ) ) ; i f ( t r u e _ s t r ) r e t u r n   t r u e _ s t r - > w c _ s t r ( ) ; e l s e   r e t u r n   N U L L ; } 
00758  
00759          o p e r a t o r   i n t ( )                 c o n s t { S a f e C a l l E v e n t ( O n G e t , ( ) ) ; i f ( t r u e _ s t r ) r e t u r n   t r u e _ s t r - > T o I n t ( ) ; e l s e   r e t u r n   0 ; } 
00760  
00761          o p e r a t o r   d o u b l e ( )           c o n s t { S a f e C a l l E v e n t ( O n G e t , ( ) ) ; i f ( t r u e _ s t r ) r e t u r n   t r u e _ s t r - > T o F l o a t ( ) ; e l s e   r e t u r n   0 ; } 
00762  
00763          o p e r a t o r   W i d e S t r i n g   & ( )       c o n s t 
00764  
00765          { 
00766  
00767              S a f e C a l l E v e n t ( O n G e t , ( ) ) ; 
00768  
00769  
00770  
00771              i f ( ! t r u e _ s t r ) 
00772  
00773                  P u t E r r o r ( L " SN N*N\*gK<PvP r o p e r t y S t r i n g ُ/f N*N%N͑_{zsSOck! " ) ; 
00774  
00775  
00776  
00777              r e t u r n   * t r u e _ s t r ; 
00778  
00779          } 
00780  
00781      } ; / / c l a s s   P r o p e r t y S t r i n g 
00782  
00783  
00784  
00785      # d e f i n e   h g l S e t P r o p e r t y S t r i n g ( p r o p , s t r , p o i n t e r , c l a s s _ n a m e , g e t _ f u n c , s e t _ f u n c )   p r o p . S e t ( s t r ) ;     \ 
00786  
00787                                                                                  S e t E v e n t C a l l ( p r o p . O n G e t , p o i n t e r , c l a s s _ n a m e , g e t _ f u n c ) ;   \ 
00788  
00789                                                                                  S e t E v e n t C a l l ( p r o p . O n S e t , p o i n t e r , c l a s s _ n a m e , s e t _ f u n c ) ; 
00790  
00791  
00792  
00793      # d e f i n e   h g l S e t P r o p e r t y S t r i n g R e a d ( p r o p , s t r , p o i n t e r , c l a s s _ n a m e , g e t _ f u n c )         p r o p . S e t ( s t r ) ;     \ 
00794  
00795                                                                                  S e t E v e n t C a l l ( p r o p . O n G e t , p o i n t e r , c l a s s _ n a m e , g e t _ f u n c ) ; 
00796  
00797  
00798  
00799      # d e f i n e   h g l S e t P r o p e r t y S t r i n g W r i t e ( p r o p , s t r , p o i n t e r , c l a s s _ n a m e , s e t _ f u n c )       p r o p . S e t ( s t r ) ;     \ 
00800  
00801                                                                                  S e t E v e n t C a l l ( p r o p . O n S e t , p o i n t e r , c l a s s _ n a m e , s e t _ f u n c ) ; 
00802  
00803  } / / n a m e s p a c e   h g l 
00804  
00805  # e n d i f / / H G L _ W I D E _ S T R I N G _ I N C L U D E 
00806  
00807  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义