發布 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