NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
cmdline类 参考

命令行参数解析器 更多...

#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 stringprogram_name () const noexcept
 获取程序名称
void print_help () const
 打印帮助信息

静态 Public 成员函数

static NEFORCE_NODISCARD vector< stringget_os_argv ()
 获取操作系统提供的命令行参数

详细描述

命令行参数解析器

支持解析符合POSIX风格和GNU风格扩展的命令行参数。 特性:

  • 长选项(–option)和短选项(-o)
  • 选项值(–option=value 或 -o value)
  • 多值选项
  • 默认值
  • 位置参数
  • 自动生成帮助信息

在文件 cmdline.hpp160 行定义.

成员函数说明

◆ add_option()

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选项名重复时抛出

◆ count()

NEFORCE_NODISCARD size_t cmdline::count ( const string & name) const

获取选项出现的次数

参数
name长选项名称
返回
选项出现次数

引用了 name().

◆ get()

NEFORCE_NODISCARD string cmdline::get ( const string & long_name,
size_t index = 0 ) const

获取选项值

参数
long_name长选项名称
index对于多值选项,指定索引
返回
选项值
异常
cmdline_exception选项不存在或无值时抛出

◆ get_os_argv()

NEFORCE_NODISCARD vector< string > cmdline::get_os_argv ( )
static

获取操作系统提供的命令行参数

返回
参数字符串向量
异常
cmdline_exception获取失败时抛出

◆ has()

NEFORCE_NODISCARD bool cmdline::has ( const string & name) const

检查选项是否存在

参数
name长选项名称
返回
是否在命令行中指定了该选项

引用了 name().

◆ parse() [1/2]

void cmdline::parse ( const vector< string > & args)

解析字符串向量参数

参数
args参数字符串向量
异常
cmdline_exception解析失败时抛出

◆ parse() [2/2]

void cmdline::parse ( int argc,
char * argv[] )

解析main函数参数

参数
argc参数个数
argv参数数组
异常
cmdline_exception解析失败时抛出

◆ parse_os_args()

void cmdline::parse_os_args ( )

解析操作系统提供的命令行参数

异常
cmdline_exception解析失败时抛出

◆ positional_args()

NEFORCE_NODISCARD const vector< string > & cmdline::positional_args ( ) const
inlinenoexcept

获取位置参数

返回
位置参数向量引用

在文件 cmdline.hpp293 行定义.

◆ print_help()

void cmdline::print_help ( ) const

打印帮助信息

根据所有注册的选项自动生成格式化的帮助文本。

◆ program_name()

NEFORCE_NODISCARD const string & cmdline::program_name ( ) const
inlinenoexcept

获取程序名称

返回
程序名称

在文件 cmdline.hpp299 行定义.


该类的文档由以下文件生成: