Ilmus 3.0 C++ (C++17 dialekt) päisevaba argumentide parsimise teek. argparse, mis jagatakse MIT litsentsi alusel.
Mis on uut:
- lisatud vastastikku välistavate argumentide tugi:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—second");
- lisatud C++20 moodul;
- lisatud mitmete valikute toetamine:
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);
- lisatud binaarsete numbrite toetus, näiteks 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan();
- lisatud ülekoormatud variant is_subcommand_used, mis võtab vastu alamkäsu parseri;
- ArgumentParserisse on lisatud parameeter exit_on_default_arguments;
- lisatud alamkäsu peitmise toetus käsu —help väljundist:
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);
- lisatud võimalus kontrollida, kas ArgumentParseris on analüüsitud väärtusi;
- lisatud veergude kaupa joondamine mitmerealise abiteksti jaoks argumentide jaoks;
- parandatud palju vigu.
Allikas: linux.org.ru
