#pragma once #include #include #include #include template > class MutantStack : public std::stack { public: MutantStack() {}; MutantStack(const MutantStack &mut) { *this = mut; } ~MutantStack() {}; MutantStack &operator=(const MutantStack &mut) { std::stack::operator=(mut); return *this; } typedef typename Container::iterator iterator; iterator begin() { return this->c.begin(); } iterator end() { return this->c.end(); } };