3.0 C++ (C++17 dialekts) tikai galvenes bibliotēkas izlaišana komandrindas argumentu parsēšanai argparse, izplatīts saskaņā ar MIT licenci.
Kas jauns:
- papildu atbalsts savstarpēji izslēdzošiem argumentiem:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—pirmais"); group.add_argument("—otrais");
- pievienots C++20 modulis;
- pievienots atbalsts atlasei no vairākām vērtībām:
program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); programma.add_argument("count") .default_value(0) .choices(0, 1, 2, 3, 4, 5);
- pievienots atbalsts binārajam apzīmējumam, piemēram, 0b101:
argparse::ArgumentParser programma("tests"); program.add_argument("-n").scan<'b', uint8_t>();
- pievienota pārslogota versija is_subcommand_used, kas pieņem apakškomandu parsētāju;
- pievienots parametrs exit_on_default_arguments parametram ArgumentParser;
- pievienots atbalsts apakškomandu slēpšanai no komandas --help izvades:
argparse::ArgumentParser programma("tests"); argparse::ArgumentParser hidden_cmd("slēpts"); hidden_cmd.add_argument("faili").remaining(); hidden_cmd.set_suppress(true); programma.add_subparser(hidden_cmd);
- pievienota iespēja pārbaudīt parsētās vērtības programmā ArgumentParser;
- pievienots līdzinājums vairāku rindu palīdzības kolonnai argumentiem;
- Daudzas kļūdas ir novērstas.
Avots: linux.org.ru