Izlaida 3.0 C++ (C++17 dialekts) header-only komandrindu argumentu parsera bibliotēku argparse, izplatīta ar MIT licenci.
Jaunumi:
- pievienota atbalsts izslēdzamiem argumentiem:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—second");
- pievienots C++20 modulis;
- pievienots atbalsts izvēlei no vairākiem vērtībām:
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);
- pievienots atbalsts binārajai notācijai, piemēram, 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<‘b’, uint8_t>();
- pievienots pārslogots is_subcommand_used variants, kas pieņem apakškomandu parseri;
- ArgumentParser pievienots parametrs exit_on_default_arguments;
- pievienots atbalsts apakškomandu slēpšanai no komandas —help izvades:
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);
- pievienota iespēja pārbaudīt izgūstošo vērtību esamību ArgumentParser;
- pievienota argumentu daudzrindas palīdzības kolonnas izlīdzināšana;
- daudzas kļūdas ir labotas.
Avots: linux.org.ru
