#ifndef Stack_h
#define Stack_h


//stack class .h file
//pointer based stack using templates
//brian jahns 1999

#include <iostream.h>

template <class T> struct stacknode;

template <class T> class Stack
{
public:
Stack();
Stack(const Stack<T>& s);
~Stack();

bool isempty() const;
bool push(T newitem);
bool pop();
bool pop(T& stacktop);
bool gettop(T& stacktop);

private:
stacknode<T>* topptr;

};

#endif