Ang bersyon 3.0 ng C++ (C++17 dialect) na header-only command-line argument parsing library ay inilabas. argparse, ibinahagi sa ilalim ng lisensya ng MIT.
Anong bago:
- Nagdagdag ng suporta para sa kapwa eksklusibong mga argumento:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—una"); group.add_argument("—pangalawa");
- Idinagdag ang module ng C++20;
- Nagdagdag ng suporta para sa pagpili mula sa maraming halaga:
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);
- Nagdagdag ng suporta para sa binary notation, halimbawa, 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<'b', uint8_t>();
- Nagdagdag ng overloaded na bersyon ng is_subcommand_used na tumatanggap ng subcommand parser;
- Ang parameter na exit_on_default_arguments ay naidagdag sa ArgumentParser;
- Nagdagdag ng suporta para sa pagtatago ng mga subcommand mula sa --help command output:
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("hidden"); hidden_cmd.add_argument("files").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- Nagdagdag ng kakayahang suriin ang pagkakaroon ng mga na-parse na halaga sa ArgumentParser;
- Nagdagdag ng column alignment para sa multi-line na tulong para sa mga argumento;
- Maraming mga bug ang naayos.
Pinagmulan: linux.org.ru
