argparse 3.0

argparse 3.0

发布 3.0 C++(C++17 方言)纯标头库,用于解析命令行参数 参数解析,根据 MIT 许可证分发。

新增功能:

  • 添加了对互斥参数的支持:

auto &group = program.add_mutually_exclusive_group(); group.add_argument("—第一个"); group.add_argument("—第二个");

  • 添加了C++20模块;
  • 添加了对从多个值中进行选择的支持:

program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); program.add_argument("count") .default_value(0) .choices(0, 1, 2, 3, 4, 5);

  • 添加了对二进制表示法的支持,例如 0b101:

argparse::ArgumentParser 程序(“测试”); program.add_argument("-n").scan<'b', uint8_t>();

  • 添加了 is_subcommand_used 的重载版本,它接受子命令解析器;
  • 向 ArgumentParser 添加了 exit_on_default_arguments 参数;
  • 添加了对从 --help 命令的输出中隐藏子命令的支持:

argparse::ArgumentParser 程序(“测试”); argparse::ArgumentParserhidden_​​cmd(“隐藏”); hidden_​​cmd.add_argument("文件").remaining(); hidden_​​cmd.set_suppress(true); 程序.add_subparser(hidden_​​cmd);

  • 添加了在 ArgumentParser 中检查解析值的功能;
  • 添加了参数多行帮助列的对齐方式;
  • 许多错误已得到修复。

来源: linux.org.ru

添加评论