本文整理汇总了C++中po::variables_map::at方法的典型用法代码示例。如果您正苦于以下问题:C++ variables_map::at方法的具体用法?C++ variables_map::at怎么用?C++ variables_map::at使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类po::variables_map
的用法示例。
在下文中一共展示了variables_map::at方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parse
void parse(const po::variables_map &cmdLine)
{
ReflectionOptions options;
options.targetName =
cmdLine.at( kSwitchTargetName ).as<std::string>( );
options.inputSourceFile =
cmdLine.at( kSwitchInputSource ).as<std::string>( );
options.outputHeaderFile =
cmdLine.at( kSwitchOutputHeader ).as<std::string>( );
options.outputSourceFile =
cmdLine.at( kSwitchOutputSource ).as<std::string>( );
// default arguments
options.arguments =
{ {
"-x",
"c++",
"-std=c++11",
"-D__REFLECTION_PARSER__"
} };
if (cmdLine.count( kSwitchPrecompiledHeader ))
{
options.precompiledHeader =
cmdLine.at( kSwitchPrecompiledHeader ).as<std::string>( );
}
if (cmdLine.count( kSwitchCompilerFlags ))
{
auto flags =
cmdLine.at( kSwitchCompilerFlags ).as<std::vector<std::string>>( );
for (auto &flag : flags)
options.arguments.emplace_back( flag.c_str( ) );
}
options.templateDirectory =
cmdLine.at( kSwitchTemplateDirectory ).as<std::string>( );
std::cout << "Parsing reflection data for target \""
<< options.targetName << "\""
<< std::endl;
ReflectionParser parser( options );
parser.Parse( );
// header template
try
{
std::string headerTemplate;
parser.GenerateHeader( headerTemplate );
utils::WriteText( options.outputHeaderFile, headerTemplate );
}
catch (std::exception &e)
{
utils::FatalError( e.what( ) );
}
// source template
try
{
std::string sourceTemplate;
parser.GenerateSource( sourceTemplate );
utils::WriteText( options.outputSourceFile, sourceTemplate );
}
catch (std::exception &e)
{
utils::FatalError( e.what( ) );
}
}