Udgivelsen af 3.0 C++ (dialekt C++17) header-only bibliotek til parsing af kommandolinjeargumenter argparse, distribueret under MIT-licensen.
Hvad er nyt:
- tilføjet support til gensidigt udelukkende argumenter:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—second");
- tilføjet modul C++20;
- tilføjet support til valg af flere værdier:
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);
- tilføjet support til binær notation, for eksempel 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<‘b’, uint8_t>();
- tilføjet en overbelastet version af is_subcommand_used, der tager parseren af underkommandoer;
- tilføjet parameter exit_on_default_arguments til ArgumentParser;
- tilføjet support til at skjule underkommandoer fra kommandoudgang —help:
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);
- tilføjet mulighed for at kontrollere tilstedeværelsen af parserede værdier i ArgumentParser;
- tilføjet kolonnejustering til multiline-hjælp til argumenter;
- rettet mange fejl.
Kilde: linux.org.ru
