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

添加評論