Module* findModule( const char* type, int version, const char* name ) const { Modules_::const_iterator i = m_modules.find( ModuleKey( ModuleType( type, version ), name ) ); if ( i != m_modules.end() ) { return ( *i ).second; } return 0; }
void foreachModule (const std::string& type, int version, const Visitor& visitor) { for (Modules_::const_iterator i = m_modules.begin(); i != m_modules.end(); ++i) { if ((*i).first.first.first == type) { visitor.visit((*i).first.second, *(*i).second); } } }
void foreachModule( const char* type, int version, const Visitor& visitor ){ for ( Modules_::const_iterator i = m_modules.begin(); i != m_modules.end(); ++i ) { if ( string_equal( ( *i ).first.first.first.c_str(), type ) ) { visitor.visit( ( *i ).first.second.c_str(), *( *i ).second ); } } }