bool process(char ch) { auto itr(_handlers.find({ch})); if (itr == _handlers.end()) { _ostr << "Command not found"; return true; } return (this->*itr->second)(); }
void EventPoller::Update() { SDL_Event event; while (SDL_PollEvent(&event)) { Handlers h = m_handlers; for (Handlers::iterator it = h.begin(); it != h.end(); ++it) { (*it)->HandleEvent(event); } } }
// ---------------------------- // VolumeFile_IO::removeHandler // ---------------------------- // Purpose: // Convenence function for removing objects from the map. // ---- Change History ---- // 11/13/2009 -- Joe R. -- Initially implemented. void VolumeFile_IO::removeHandler(const std::string& id) { for(HandlerMap::iterator i = handlerMap().begin(); i != handlerMap().end(); i++) { Handlers handlers; for(Handlers::iterator j = i->second.begin(); j != i->second.end(); j++) { if((*j)->id() != id) handlers.push_back(*j); } i->second = handlers; } }
// ---------------------------- // VolumeFile_IO::removeHandler // ---------------------------- // Purpose: // Convenence function for removing objects from the map. // ---- Change History ---- // 11/13/2009 -- Joe R. -- Initially implemented. void VolumeFile_IO::removeHandler(const Ptr& vfio) { for(HandlerMap::iterator i = handlerMap().begin(); i != handlerMap().end(); i++) { Handlers handlers; for(Handlers::iterator j = i->second.begin(); j != i->second.end(); j++) { if(*j != vfio) handlers.push_back(*j); } i->second = handlers; } }
bool process(const char ch) { return (this->*_handlers.find_ref(MenuItem(ch, std::string())))(); }
bool process(char ch) { auto itr(_handlers.find({ch})); return itr == _handlers.end() ? true : (this->*itr->second)(); }