Izdaja knjižnice 3.0 C++ (narečje C++17) samo za glavo za razčlenjevanje argumentov ukazne vrstice argparse, ki se distribuira pod licenco MIT.
Kaj je novega:
- dodana podpora za medsebojno izključujoče argumente:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—prvi"); group.add_argument("—drugi");
- dodan modul C++20;
- dodana podpora za izbiro med več vrednostmi:
program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); program.add_argument("štetje") .default_value(0) .choices(0, 1, 2, 3, 4, 5);
- dodana podpora za dvojiški zapis, na primer 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<'b', uint8_t>();
- dodana preobremenjena različica is_subcommand_used, ki sprejme razčlenjevalnik podukazov;
- dodan parameter exit_on_default_arguments v ArgumentParser;
- dodana podpora za skrivanje podukazov pred izhodom ukaza --help:
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("skrit"); hidden_cmd.add_argument("datoteke").remaining(); skriti_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- dodana možnost preverjanja razčlenjenih vrednosti v ArgumentParser;
- dodana poravnava večvrstičnemu stolpcu pomoči za argumente;
- Veliko napak je bilo odpravljenih.
Vir: linux.org.ru