#pragma once #include template class MutantStack : public std::stack { public: MutantStack(); MutantStack(const MutantStack &other); MutantStack(MutantStack &&other) noexcept; MutantStack &operator=(const MutantStack &other); MutantStack &&operator=(MutantStack &&other) noexcept; ~MutantStack() noexcept; typedef typename std::stack::container_type::iterator iterator; typedef typename std::stack::container_type::const_iterator const_iterator; iterator begin(); iterator end(); const_iterator begin() const; const_iterator end() const; }; #include "MutantStack.tpp"