È stata rilasciata la versione 3.0 della libreria header-only per il parsing degli argomenti della riga di comando in C++ (dialetto C++17) argparse, distribuita con licenza MIT.
Novità:
- aggiunta la supporto per argomenti mutuamente esclusivi:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("--first"); group.add_argument("--second");
- aggiunto il modulo C++20;
- aggiunta la supporto per la selezione di più valori:
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);
- aggiunta la supporto per la notazione binaria, ad esempio, 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan();
- aggiunta una versione sovraccaricata di is_subcommand_used che accetta il parser delle sotto-comandi;
- aggiunto il parametro exit_on_default_arguments in ArgumentParser;
- è stata aggiunta la supporto per nascondere le sotto-comandi dall'output del comando —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);
- aggiunta la possibilità di verificare la presenza di valori analizzati in ArgumentParser;
- aggiunto l'allineamento per colonna della guida multilinea per gli argomenti;
- corretti molti bug.
Fonte: linux.org.ru
