|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
命令行参数解析器 更多...
#include <cmdline.hpp>
类 | |
| struct | option |
| 选项定义结构 更多... | |
Public 成员函数 | |
| void | add_option (const string &long_name, char short_name, const string &description, bool requires_value=false, bool allow_multiple=false, const string &default_value="") |
| 添加选项定义 | |
| void | parse_os_args () |
| 解析操作系统提供的命令行参数 | |
| void | parse (int argc, char *argv[]) |
| 解析main函数参数 | |
| void | parse (const vector< string > &args) |
| 解析字符串向量参数 | |
| NEFORCE_NODISCARD string | get (const string &long_name, size_t index=0) const |
| 获取选项值 | |
| NEFORCE_NODISCARD bool | has (const string &name) const |
| 检查选项是否存在 | |
| NEFORCE_NODISCARD size_t | count (const string &name) const |
| 获取选项出现的次数 | |
| NEFORCE_NODISCARD const vector< string > & | positional_args () const noexcept |
| 获取位置参数 | |
| NEFORCE_NODISCARD const string & | program_name () const noexcept |
| 获取程序名称 | |
| void | print_help () const |
| 打印帮助信息 | |
静态 Public 成员函数 | |
| static NEFORCE_NODISCARD vector< string > | get_os_argv () |
| 获取操作系统提供的命令行参数 | |
命令行参数解析器
支持解析符合POSIX风格和GNU风格扩展的命令行参数。 特性:
在文件 cmdline.hpp 第 160 行定义.
| void cmdline::add_option | ( | const string & | long_name, |
| char | short_name, | ||
| const string & | description, | ||
| bool | requires_value = false, | ||
| bool | allow_multiple = false, | ||
| const string & | default_value = "" ) |
添加选项定义
| long_name | 长选项名称 |
| short_name | 短选项字符 |
| description | 选项描述 |
| requires_value | 是否需要值 |
| allow_multiple | 是否允许多次出现 |
| default_value | 默认值 |
| cmdline_exception | 选项名重复时抛出 |
| NEFORCE_NODISCARD bool cmdline::has | ( | const string & | name | ) | const |
| void cmdline::parse | ( | int | argc, |
| char * | argv[] ) |
| void cmdline::parse_os_args | ( | ) |
解析操作系统提供的命令行参数
| cmdline_exception | 解析失败时抛出 |
| void cmdline::print_help | ( | ) | const |
打印帮助信息
根据所有注册的选项自动生成格式化的帮助文本。
|
inlinenoexcept |