#include <ace/Stack.h> template<class T> class ACE_Bounded_Stack {
public:
ACE_Bounded_Stack (size_t size);
ACE_Bounded_Stack (const ACE_Bounded_Stack<T> &s);
void operator= (const ACE_Bounded_Stack<T> &s);
~ACE_Bounded_Stack (void);
void push (const T &new_item);
void pop (T &item);
void top (T &item) const;
int is_empty (void) const;
int is_full (void) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
size_t size_;
size_t top_;
T *stack_;
};
ACE_Bounded_Stack (size_t size);
ACE_Bounded_Stack (const ACE_Bounded_Stack<T> &s);
void operator= (const ACE_Bounded_Stack<T> &s);
~ACE_Bounded_Stack (void);
void push (const T &new_item);
void pop (T &item);
void top (T &item) const;
int is_empty (void) const;
int is_full (void) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;