#ifndef stack_deque #define stack_deque #include #include using namespace std; template class Stack { public: bool empty(); void push(const StackElement &value); StackElement top(); void pop(); void display(ostream &out); private: deque mydeque; }; template void Stack::push(const StackElement &value) { mydeque.push_back(value); } template void Stack::display(ostream &out) { int position; for (position=mydeque.size()-1;position >= 0; position--) out << mydeque[position] << endl; } template StackElement Stack::top() { if (!mydeque.empty()) return mydeque.back(); } template void Stack::pop() { if (!mydeque.empty()) mydeque.pop_back(); } #endif