CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/Limit.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ L I M I T _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ L I M I T _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / h g l . h > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013      / * * 
00014  
00015      *   P6RWpenc!jg{|, ُ*N!jgSN[IN<Pv
00016 NNP0ُ7h(W[pe<PۏLK<Pe1\e la
00017 NNPN0
00018  
00019      *   FO lav/fO(uL i m i t ЏL^kKbRQ$Reba0
00020  
00021      * / 
00022  
00023      t e m p l a t e < c l a s s   T >   c l a s s   L i m i t                                                                                                                                       / / / P6RWpenc!jg{|
00024  
00025      { 
00026  
00027          T   _ v a l u e ; 
00028  
00029          T   _ m i n , _ m a x ; 
00030  
00031  
00032  
00033          v o i d   s e t v a l u e ( T   v ) 
00034  
00035          { 
00036  
00037              i f ( v < _ m i n ) _ v a l u e = _ m i n ; e l s e 
00038  
00039              i f ( v > _ m a x ) _ v a l u e = _ m a x ; e l s e   _ v a l u e = v ; 
00040  
00041          } 
00042  
00043  
00044  
00045          T   g e t m i n ( ) { r e t u r n   _ m i n ; } 
00046  
00047          T   g e t m a x ( ) { r e t u r n   _ m a x ; } 
00048  
00049          v o i d   s e t m i n ( T   v ) { _ m i n = v ; i f ( _ v a l u e < _ m i n ) _ v a l u e = _ m i n ; } 
00050  
00051          v o i d   s e t m a x ( T   v ) { _ m a x = v ; i f ( _ v a l u e > _ m a x ) _ v a l u e = _ m a x ; } 
00052  
00053  
00054  
00055          b o o l   i s m i n ( ) { r e t u r n ( _ v a l u e = = _ m i n ) ; } 
00056  
00057          b o o l   i s m a x ( ) { r e t u r n ( _ v a l u e = = _ m a x ) ; } 
00058  
00059  
00060  
00061          v o i d   I n i t P r i v a t e ( T , T ) ; 
00062  
00063  
00064  
00065      p u b l i c : 
00066  
00067  
00068  
00069          P r o p e r t y < T >   M i n ;                                                                                                                                                         / / / <  g\<PZbSϑ
00070  
00071          P r o p e r t y < T >   M a x ;                                                                                                                                                         / / / <  g'Y<PZbSϑ
00072  
00073  
00074  
00075          P r o p e r t y < b o o l >   I s M i n ;                                                                       / / / < /f&T/f g<P
00076  
00077          P r o p e r t y < b o o l >   I s M a x ;                                                                       / / / < /f&T/f g'Y<P
00078  
00079  
00080  
00081      p u b l i c : 
00082  
00083  
00084  
00085          L i m i t ( ) { I n i t P r i v a t e ( 0 , 0 ) ; } 
00086  
00087          L i m i t ( T   i , T   a ) { I n i t P r i v a t e ( i , a ) ; } 
00088  
00089  
00090  
00091          o p e r a t o r   T   ( )   c o n s t { r e t u r n ( _ v a l u e ) ; } 
00092  
00093  
00094  
00095          v o i d   o p e r a t o r   =   ( T   v ) { s e t v a l u e ( v ) ; } 
00096  
00097  
00098  
00099          v o i d   S e t ( T   i , T   a , T   c ) { _ m i n = i ; _ m a x = a ; _ v a l u e = c ; } 
00100  
00101          v o i d   T o M i n ( ) { _ v a l u e = _ m i n ; } 
00102  
00103          v o i d   T o M a x ( ) { _ v a l u e = _ m a x ; } 
00104  
00105  
00106  
00107          T   o p e r a t o r   +   ( T   v ) { r e t u r n ( _ v a l u e + v ) ; } 
00108  
00109          T   o p e r a t o r   -   ( T   v ) { r e t u r n ( _ v a l u e - v ) ; } 
00110  
00111          T   o p e r a t o r   *   ( T   v ) { r e t u r n ( _ v a l u e * v ) ; } 
00112  
00113          T   o p e r a t o r   /   ( T   v ) { r e t u r n ( _ v a l u e / v ) ; } 
00114  
00115          T   o p e r a t o r   %   ( T   v ) { r e t u r n ( _ v a l u e % v ) ; } 
00116  
00117  
00118  
00119          v o i d   o p e r a t o r   + =   ( T   v ) { s e t v a l u e ( _ v a l u e + v ) ; } 
00120  
00121          v o i d   o p e r a t o r   - =   ( T   v ) { s e t v a l u e ( _ v a l u e - v ) ; } 
00122  
00123          v o i d   o p e r a t o r   * =   ( T   v ) { s e t v a l u e ( _ v a l u e * v ) ; } 
00124  
00125          v o i d   o p e r a t o r   / =   ( T   v ) { s e t v a l u e ( _ v a l u e / v ) ; } 
00126  
00127  
00128  
00129          T   o p e r a t o r   + +   ( ) { s e t v a l u e ( _ v a l u e + + ) ; r e t u r n ( _ v a l u e ) ; } 
00130  
00131          T   o p e r a t o r   - -   ( ) { s e t v a l u e ( _ v a l u e - - ) ; r e t u r n ( _ v a l u e ) ; } 
00132  
00133  
00134  
00135          b o o l   o p e r a t o r   >   ( T   v ) { r e t u r n ( _ v a l u e >   v ) ; } 
00136  
00137          b o o l   o p e r a t o r   > = ( T   v ) { r e t u r n ( _ v a l u e > = v ) ; } 
00138  
00139          b o o l   o p e r a t o r   <   ( T   v ) { r e t u r n ( _ v a l u e <   v ) ; } 
00140  
00141          b o o l   o p e r a t o r   < = ( T   v ) { r e t u r n ( _ v a l u e < = v ) ; } 
00142  
00143  
00144  
00145          b o o l   o p e r a t o r   = = ( T   v ) { r e t u r n ( _ v a l u e = = v ) ; } 
00146  
00147          b o o l   o p e r a t o r   ! = ( T   v ) { r e t u r n ( _ v a l u e ! = v ) ; } 
00148  
00149      } ; / / t e m p l a t e < c l a s s   T >   c l a s s   L i m i t 
00150  
00151  } / / n a m e s p a c e   h g l 
00152  
00153  # i n c l u d e < h g l / t y p e / L i m i t . C P P > 
00154  
00155  # e n d i f / / H G L _ L I M I T _ I N C L U D E 
00156  
00157  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义