使用 Boost.ProgramOptions 继承选项
Inheriting options with Boost.ProgramOptions
有没有一种好方法可以将 boost 中另一个options_description
对象的继承程序选项链接起来? 例如
auto general_options = po::options_description{};
general_options.add_options()
("flag", "Information for --flag");
auto specific_options_one = po::options_description{};
specific_options.add_options(general_options)
("specific_flag_one", "Information for specific flag");
auto specific_options_two = po::options_description{};
specific_options_two.add_options(general_options)
("specific_flag_two", "Information for specific flag");
即让specific_options
选项实例使用另一个实例的选项以及它自己的选项
这样的事情将使我能够为specific_options_one
和specific_options_two
实例指定--flag
选项。 例如
./a.out --flag --specific_flag_one
./a.out --flag --specific_flag_two
两者都有效,因为--flag
是继承
在文档的多源示例中,您可以看到可以将option_description
添加到另一个,这意味着您可以执行以下操作:
auto general_options = po::options_description{};
general_options.add_options()
("flag", "Information for --flag");
auto specific_options_one = po::options_description{};
specific_options.add(general_options).add_options(general_options)
("specific_flag_one", "Information for specific flag");
auto specific_options_two = po::options_description{};
specific_options_two.add(general_options).add_options(general_options)
("specific_flag_two", "Information for specific flag");
然后specific_options_one
和specific_options_two
都将包含来自general_options
的标志
相关文章:
- 继承函数的重载解析
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- Win32编译器选项和内存分配
- 继承期间显示未知行为的子类
- 头文件-继承c++
- 为什么在保护模式下继承升级不起作用
- 通过继承类使用来自不同命名空间的运算符
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- C/C++预处理器是否可以检测一些编译器选项
- 混合组合和继承的C++问题
- 继承:构造函数,初始化C++11中基类的类C数组成员
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 从类继承时,继承的类是否会通过父类重新定义继承的变量
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 公共与私人继承
- 如何创建从同一类继承的不同对象的向量
- 如何从另一个文件继承私有成员变量和公共函数
- 使用 Boost.ProgramOptions 继承选项
- 继承自定义选项卡栏和调整大小事件的实现
- 在任何/某些C++编译器中是否有允许从本机(基本)类型继承的选项