#include #include #include void UnitsQueue::add(Unit* unit){ queue_.push_back(unit); } void UnitsQueue::remove(viterator iter){ if (beginIterator() <= iter && iter < endIterator()){ queue_.erase(iter); return; } throw std::string("Iterator is not in UnitsQueue"); } void UnitsQueue::remove(Unit* unit){ for (viterator it = beginIterator(); it != endIterator();++it){ if( (*it) == unit){ remove(it); return; } } throw std::string("Unit* is not in UnitsQueue"); } UnitsQueue::viterator UnitsQueue::beginIterator() { return queue_.begin(); } UnitsQueue::viterator UnitsQueue::endIterator(){ return queue_.end(); }