argparse 3.0

argparse 3.0

Издадена версия 3.0 на C++ (диалект C++17) хедър-базирана библиотека за парсване на аргументи от командния ред argparse, разпространявана под MIT лиценз.

Какво ново:

  • добавена поддръжка на взаимно изключващи се аргументи:

автоматичен &група = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—second");

  • добавен модул C++20;
  • добавена поддръжка за избор от множество стойности:

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);

  • добавена поддръжка на двоичен формат, например, 0b101:

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

  • добавен преназначен вариант is_subcommand_used, приемащ парсер за подкоманда;
  • в ArgumentParser добавен параметър exit_on_default_arguments;
  • допълнена подкрепа за скриване на подкоманди от изхода на командата —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);

  • добавена възможност за проверка на наличието на разгърнати стойности в ArgumentParser;
  • добавено подравняване по колони за многострочната справка за аргументи;
  • отстранени са много грешки.

Източник: linux.org.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster