⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 builder.cpp

📁 2009 ROBOCUP 仿真2DSERVER 源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    }}boolBuilder::doBuildParam( const std::string & module_name,                       const std::string & param_name,                       int value,                       const std::string & name,                       int lineno ){    if ( module_name == getModuleName() )    {        return doBuildParam( param_name, value, name, lineno );    }    return true;}boolBuilder::doBuildParam( const std::string & module_name,                       const std::string & param_name,                       bool value,                       const std::string & name,                       int lineno ){    if ( module_name == getModuleName() )    {        return doBuildParam( param_name, value, name, lineno );    }    return true;}boolBuilder::doBuildParam( const std::string & module_name,                       const std::string & param_name,                       double value,                       const std::string & name,                       int lineno ){    if ( module_name == getModuleName() )    {        return doBuildParam( param_name, value, name, lineno );    }    return true;}boolBuilder::doBuildParam( const std::string & module_name,                       const std::string & param_name,                       const std::string & value,                       const std::string & name,                       int lineno ){    if ( module_name == getModuleName() )    {        return doBuildParam( param_name, value, name, lineno );    }    return true;}boolBuilder::doBuildParam( const std::string & param_name,                       int value,                       const std::string & name,                       int lineno ){    IntMap::iterator int_iter = m_ints.find( param_name );    if ( int_iter != m_ints.end() )    {        return setParam( param_name, int_iter->second, value, name, lineno );    }    BoolMap::iterator bool_iter = m_bools.find( param_name );    if ( bool_iter != m_bools.end() )    {        return setParam( param_name, bool_iter->second, value, name, lineno );    }    DoubMap::iterator doub_iter = m_doubs.find( param_name );    if ( doub_iter != m_doubs.end() )    {        return setParam( param_name, doub_iter->second, value, name, lineno );    }    StrMap::iterator str_iter = m_strs.find( param_name );    if ( str_iter != m_strs.end() )    {        return setParam( param_name, str_iter->second, value, name, lineno );    }    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::doBuildParam( const std::string & param_name, bool value,                       const std::string & name,                       int lineno ){    IntMap::iterator int_iter = m_ints.find( param_name );    if ( int_iter != m_ints.end() )    {        return setParam( param_name, int_iter->second, value, name, lineno );    }    BoolMap::iterator bool_iter = m_bools.find( param_name );    if ( bool_iter != m_bools.end() )    {        return setParam( param_name, bool_iter->second, value, name, lineno );    }    DoubMap::iterator doub_iter = m_doubs.find( param_name );    if ( doub_iter != m_doubs.end() )    {        return setParam( param_name, doub_iter->second, value, name, lineno );    }    StrMap::iterator str_iter = m_strs.find( param_name );    if ( str_iter != m_strs.end() )    {        return setParam( param_name, str_iter->second, value, name, lineno );    }    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::doBuildParam( const std::string & param_name, double value,                       const std::string & name,                       int lineno ){    IntMap::iterator int_iter = m_ints.find( param_name );    if ( int_iter != m_ints.end() )    {        return setParam( param_name, int_iter->second, value, name, lineno );    }    BoolMap::iterator bool_iter = m_bools.find( param_name );    if ( bool_iter != m_bools.end() )    {        return setParam( param_name, bool_iter->second, value, name, lineno );    }    DoubMap::iterator doub_iter = m_doubs.find( param_name );    if ( doub_iter != m_doubs.end() )    {        return setParam( param_name, doub_iter->second, value, name, lineno );    }    StrMap::iterator str_iter = m_strs.find( param_name );    if ( str_iter != m_strs.end() )    {        return setParam( param_name, str_iter->second, value, name, lineno );    }    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::doBuildParam( const std::string & param_name, const std::string & value,                       const std::string & name,                       int lineno ){    IntMap::iterator int_iter = m_ints.find( param_name );    if ( int_iter != m_ints.end() )    {        return setParam( param_name, int_iter->second, value, name, lineno );    }    BoolMap::iterator bool_iter = m_bools.find( param_name );    if ( bool_iter != m_bools.end() )    {        return setParam( param_name, bool_iter->second, value, name, lineno );    }    DoubMap::iterator doub_iter = m_doubs.find( param_name );    if ( doub_iter != m_doubs.end() )    {        return setParam( param_name, doub_iter->second, value, name, lineno );    }    StrMap::iterator str_iter = m_strs.find( param_name );    if ( str_iter != m_strs.end() )    {        return setParam( param_name, str_iter->second, value, name, lineno );    }    if ( param_name == "version" )    {        m_parsed_version = value;        return ( m_version == value );    }    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no parameter called '"                + param_name + "'",                name,                lineno );    return false;}voidBuilder::doCreateConfFile( std::ostream& conf ){    conf << "/* " << m_module_name << " Configuration file */\n\n";    createConfFileEntry( conf,                         m_module_name,                         "version",                         m_version,                         "" );    m_parsed_version = m_version;    for ( IntMap::iterator iter = m_ints.begin();          iter != m_ints.end();          ++iter )    {        createConfFileEntry( conf,                             m_module_name,                             iter->first,                             iter->second.get(),                             iter->second.desc() );    }    for ( BoolMap::iterator iter = m_bools.begin();          iter != m_bools.end();          ++iter )    {        createConfFileEntry( conf,                             m_module_name,                             iter->first,                             iter->second.get(),                             iter->second.desc() );    }    for ( DoubMap::iterator iter = m_doubs.begin();          iter != m_doubs.end();          ++iter )    {        createConfFileEntry( conf,                             m_module_name,                             iter->first,                             iter->second.get(),                             iter->second.desc() );    }    for ( StrMap::iterator iter = m_strs.begin();          iter != m_strs.end();          ++iter )    {        createConfFileEntry( conf,                             m_module_name,                             iter->first,                             iter->second.get(),                             iter->second.desc() );    }}boolBuilder::setParam( const std::string &,                   ParamInfo< int > param,                   int value,                   const std::string &,                   int ){    param.set( value );    return true;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< bool > param,                   int value,                   const std::string & name,                   int lineno ){    param.set( (bool)value );    if ( value != 0 && value != 1 )    {        buildWarning( m_module_name,                      param_name,                      "casting from int to bool for parameter '"                      + param_name + "'",                      name,                      lineno );    }    return true;}boolBuilder::setParam( const std::string &,                   ParamInfo< double > param,                   int value,                   const std::string &,                   int ){    param.set( value );    return true;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< std::string >,                   int,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no numeric parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< int >,                   bool,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no boolean parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string &,                   ParamInfo< bool > param,                   bool value,                   const std::string &,                   int ){    param.set( value );    return true;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< double >,                   bool,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no boolean parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< std::string >,                   bool,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no boolean parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< int > param,                   double value,                   const std::string & name,                   int lineno ){    param.set( (int)value );    if ( value != (int)value )    {        buildWarning( m_module_name,                      param_name,                      "casting from floating point to integer for parameter '"                      + param_name + "'",                      name,                      lineno );    }    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< bool > param,                   double value,                   const std::string & name,                   int lineno ){    param.set( (bool)value );    if ( value != 0 && value != 1 )    {        buildWarning( m_module_name,                      param_name,                      "casting from floating point to bool for parameter '"                      + param_name + "'",                      name,                      lineno );    }    return false;}boolBuilder::setParam( const std::string &,                   ParamInfo< double > param,                   double value,                   const std::string &,                   int ){    param.set( value );    return true;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< std::string >,                   double,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no numeric parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< int >,                   const std::string & value,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no string parameter (" + value + ") called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< bool >,                   const std::string &,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no string parameter called '"                + param_name + "'",                name,                lineno );    return false;}boolBuilder::setParam( const std::string & param_name,                   ParamInfo< double >,                   const std::string &,                   const std::string & name,                   int lineno ){    buildError( m_module_name,                param_name,                "'" + m_module_name                + "' has no string parameter called '"                + param_name + "'",                name, lineno );    return false;}boolBuilder::setParam( const std::string &,                   ParamInfo< std::string > param,                   const std::string & value,                   const std::string &,                   int ){    param.set( value );    return true;}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -