template class Deque { private: vector e; public: Deque() { } ~Deque(); void push(Element & x) { e.push_front(x); } Element pop() { return e.pop_front(); } void inject(Element & x) { e.push_back(x); } Element eject() { return e.pop_back(); } }