argparse 3.0

argparse 3.0

Lansarea bibliotecii C++ 3.0 (dialect C++17) numai cu antet pentru analizarea argumentelor liniei de comandă argparse, distribuit sub licența MIT.

Ce mai e nou:

  • sprijin adăugat pentru argumente care se exclud reciproc:

auto &group = program.add_mutually_exclusive_group(); group.add_argument("—primul"); group.add_argument("—al doilea");

  • a adăugat modul C++20;
  • a adăugat suport pentru selectarea dintre mai multe 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);

  • a adăugat suport pentru notația binară, de exemplu 0b101:

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

  • a adăugat o versiune supraîncărcată a is_subcommand_used, care acceptă un parser de subcomandă;
  • a adăugat parametrul exit_on_default_arguments la ArgumentParser;
  • a adăugat suport pentru ascunderea subcomenzilor din rezultatul comenzii --help:

argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd(„ascuns”); hidden_cmd.add_argument("fișiere").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);

  • a adăugat capacitatea de a verifica valorile analizate în ArgumentParser;
  • a adăugat aliniere la coloana de ajutor cu mai multe linii pentru argumente;
  • Multe erori au fost remediate.

Sursa: linux.org.ru

Adauga un comentariu