bstack.h

Go to the documentation of this file.
00001 
00042 #ifndef ABA_BSTACK_H
00043 #define ABA_BSTACK_H
00044 
00045 #include "abacus/array.h"
00046 
00047 #ifdef ABACUS_NEW_TEMPLATE_SYNTAX
00048 template<class Type>
00049 class  ABA_BSTACK;
00050 
00051 template<class Type> 
00052 ostream& operator<< (ostream& out, const ABA_BSTACK<Type> &rhs);
00053 #endif
00054 
00055 
00056   template <class Type> class  ABA_BSTACK :  public ABA_ABACUSROOT  {
00057     public:
00058 
00064       ABA_BSTACK(ABA_GLOBAL *glob, int size);
00065 #ifdef ABACUS_NEW_TEMPLATE_SYNTAX
00066 
00075       friend ostream& operator<< <> (ostream&, const ABA_BSTACK<Type> &);
00076 #else
00077 
00086       friend ostream& operator<< (ostream& out, const ABA_BSTACK<Type> &rhs);
00087 #endif
00088 
00091       int size() const;
00092 
00098       int tos() const;
00099 
00103       bool empty() const;
00104 
00109       bool full() const;
00110 
00119       void push(Type item);
00120 
00129       Type top() const;
00130 
00141       Type pop();
00142 
00151       void realloc (int newSize);
00152 
00153     private:
00154 
00157       ABA_GLOBAL *glob_;
00158 
00161       ABA_ARRAY<Type>  stack_;
00162 
00165       int          tos_;
00166     };
00167 
00168 #include "abacus/bstack.inc"
00169 
00170 #endif // ABA_BSTACK_H
00171 

Generated on Tue Aug 14 18:09:53 2007 for ABACUS by  doxygen 1.5.1