Versjon 3.0 av C++ (C++17-dialekt) bibliotek for parsing av kommandolinjeargumenter med kun headerfunksjoner er utgitt. argparse, distribuert under MIT-lisensen.
Hva er nytt:
- Lagt til støtte for gjensidig utelukkende argumenter:
auto &gruppe = program.add_mutually_exclusive_group(); gruppe.add_argument("—første"); gruppe.add_argument("—andre");
- C++20-modul lagt til;
- Lagt til støtte for å velge mellom flere verdier:
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);
- La til støtte for binær notasjon, for eksempel 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<'b', uint8_t>();
- La til en overbelastet versjon av is_subcommand_used som godtar en underkommandoparser;
- Parameteren exit_on_default_arguments er lagt til i ArgumentParser;
- La til støtte for å skjule underkommandoer fra utdataene fra --help-kommandoen:
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("skjult"); hidden_cmd.add_argument("filer").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- La til muligheten til å sjekke om det finnes parsede verdier i ArgumentParser;
- La til kolonnejustering for flerlinjet hjelp for argumenter;
- Mange feil har blitt fikset.
Kilde: linux.org.ru
