CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/type/Stack.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ S T A C K _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ S T A C K _ 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      / * * 
00014  
00015      *   S t a c k !jg{|(uNOX[ N*NHQۏTQ0TۏHQQvpencXh
00016  
00017      * 
00018  
00019      *   lُ*N{|؏(WKmՋ-N
00020 NO9eُ*N{|vnNxY   gO9ea5u\O0
00021  
00022      * / 
00023  
00024      t e m p l a t e < t y p e n a m e   T >   c l a s s   S t a c k                                                                                                                                 / / / Xhz^penc{|
00025  
00026      { 
00027  
00028      p r o t e c t e d : 
00029  
00030  
00031  
00032          i n t   m a x _ c o u n t ; 
00033  
00034          i n t   m e m _ c o u n t ; 
00035  
00036          i n t   c o u n t ; 
00037  
00038          T   * i t e m s ; 
00039  
00040  
00041  
00042      p r o t e c t e d : 
00043  
00044  
00045  
00046          i n t   G e t C o u n t ( ) { r e t u r n   c o u n t ; } 
00047  
00048          i n t   G e t M a x ( ) { r e t u r n   m a x _ c o u n t ; } 
00049  
00050  
00051  
00052          v o i d   S e t M a x ( i n t ) ; 
00053  
00054          T   & G e t I t e m ( i n t ) ; 
00055  
00056  
00057  
00058      p u b l i c :   / / ^\'`
00059  
00060                                                                                                                
00061  
00062          P r o p e r t y < i n t >   C o u n t ;                                                                                                                                                 / / / < Xh-Npencv*Npe
00063  
00064          P r o p e r t y < i n t >   M a x C o u n t ;                                                                                                                                           / / / < Xh-Nv g'Ypenc*Npe
00065  
00066  
00067  
00068      p u b l i c :   / / el
00069  
00070  
00071  
00072          S t a c k ( i n t = 0 ) ; 
00073  
00074          v i r t u a l   ~ S t a c k ( ) ; 
00075  
00076  
00077  
00078                  b o o l   P e e k ( T   & ) ; 
00079  
00080          v i r t u a l   b o o l   P o p ( T   & ) ; 
00081  
00082                  b o o l   P u s h ( T   & ) ; 
00083  
00084                  b o o l   P u s h ( T   * , i n t ) ;                                                                   / / / < >eeQY*Npenc
00085  
00086  
00087  
00088          v i r t u a l   v o i d   C l e a r ( ) ;                                                                                                                                               / / / < nd@b gpenc
00089  
00090  
00091  
00092          T   & o p e r a t o r [ ] ( i n t   n ) { r e t u r n   G e t I t e m ( n ) ; } 
00093  
00094  
00095  
00096          v i r t u a l   v o i d   o p e r a t o r   = ( c o n s t   S t a c k < T >   & ) ; 
00097  
00098      } ; / / t e m p l a t e < t y p e n a m e   T >   c l a s s   S t a c k 
00099  
00100  
00101  
00102      t e m p l a t e < t y p e n a m e   T >   c l a s s   S t a c k O b j e c t : p u b l i c   S t a c k < T   * >                                         / / / Xh[a
00103  
00104      { 
00105  
00106      p u b l i c : 
00107  
00108  
00109  
00110          S t a c k O b j e c t ( i n t   n = 0 ) : S t a c k < T   * > ( n ) { } ; 
00111  
00112          v i r t u a l   ~ S t a c k O b j e c t ( ) { C l e a r ( ) ; } ; 
00113  
00114  
00115  
00116          v o i d   C l e a r ( ) ;           
00117  
00118      } ; / / t e m p l a t e < t y p e n a m e   T >   c l a s s   S t a c k O b j e c t 
00119  
00120  } / / n a m e s p a c e   h g l 
00121  
00122  # i n c l u d e   < h g l / t y p e / S t a c k . C P P > 
00123  
00124  # e n d i f / / H G L _ S T A C K _ I N C L U D E 
00125  
00126  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义