argparse 3.0

argparse 3.0

Lanzamento da biblioteca 3.0 C++ (dialecto C++ 17) só de cabeceira para analizar argumentos da liña de comandos argparse, distribuído baixo a licenza MIT.

Novedades:

  • apoio adicional para argumentos mutuamente excluíntes:

auto &group = program.add_mutually_exclusive_group(); group.add_argument("—primeiro"); group.add_argument("—segundo");

  • módulo C++20 engadido;
  • soporte adicional para seleccionar entre varios valores:

program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); programa.engadir_argumento("conto") .valor_predeterminado(0) .eleccións(0, 1, 2, 3, 4, 5);

  • engadiu soporte para a notación binaria, por exemplo 0b101:

argparse::ArgumentParser program("proba"); program.add_argument("-n").scan<'b', uint8_t>();

  • engadiu unha versión sobrecargada de is_subcommand_used, que acepta un analizador de subcomandos;
  • engadiu o parámetro exit_on_default_arguments a ArgumentParser;
  • engadiu soporte para ocultar subcomandos da saída do comando --help:

argparse::ArgumentParser program("proba"); argparse::ArgumentParser hidden_cmd("oculto"); hidden_cmd.add_argument("arquivos").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);

  • engadiu a posibilidade de comprobar os valores analizados en ArgumentParser;
  • engadiu o aliñamento á columna de axuda multiliña para os argumentos;
  • Moitos erros foron corrixidos.

Fonte: linux.org.ru

Engadir un comentario