#ifndef MUTANTSTACK_HPP #define MUTANTSTACK_HPP #include #include template class MutantStack : public std::stack { public: MutantStack() {}; ~MutantStack() {}; MutantStack(const MutantStack &other) {this = other;}; MutantStack &operator=(const MutantStack &other); typedef typename std::stack::container_type::iterator iterator; typedef typename std::stack::container_type::const_iterator const_iterator; typedef typename std::stack::container_type::reverse_iterator reverse_iterator; typedef typename std::stack::container_type::const_reverse_iterator const_reverse_iterator; iterator begin() {return this->c.begin();} iterator end() {return this->c.end();} const_iterator begin() const {return this->c.begin();} const_iterator end() const {return this->c.end();} reverse_iterator rbegin() {return this->c.rbegin();} reverse_iterator rend() {return this->c.rend();} const_reverse_iterator rbegin() const {return this->c.rbegin();} const_reverse_iterator rend() const {return this->c.rend();} }; #endif