// http://stackoverflow.com/questions/1259099/stl-queue-iteration #include #include #include template > class iterable_queue : public std::queue { public: typedef typename Container::iterator iterator; typedef typename Container::const_iterator const_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(); } }; int main() { iterable_queue int_queue; for(int i=0; i<10; ++i) int_queue.push(i); for(auto it=int_queue.begin(); it!=int_queue.end();++it) std::cout << *it << "\n"; return 0; }