NAME

ACE_Fixed_Stack - Implement a generic LIFO abstract data type.

SYNOPSIS


#include <ace/Stack.h>


template<class T, size_t SIZE>
class ACE_Fixed_Stack
{
  public:
    ACE_Fixed_Stack (void);
    ACE_Fixed_Stack (const ACE_Fixed_Stack<T, SIZE> &s);
    void operator= (const ACE_Fixed_Stack<T, SIZE> &s);
    ~ACE_Fixed_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_[SIZE];
};

DESCRIPTION

This implementation of a Stack uses a fixed array with the size fixed at instantiation time.

Initialization, assignemnt, and termination methods.

ACE_Fixed_Stack (void);
ACE_Fixed_Stack (const ACE_Fixed_Stack<T, SIZE> &s);
void operator= (const ACE_Fixed_Stack<T, SIZE> &s);
~ACE_Fixed_Stack (void);

Classic Stack operations.

void push (const T &new_item);
void pop (T &item);
void top (T &item) const;

Check boundary conditions for Stack operations.

int is_empty (void) const;
int is_full (void) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt

LIBRARY

ace