Освобождаване на версия 3.0 C++ (диалект C++17) заглавна само библиотека за парсинг на командни аргументи argparse, разпространявана под лицензия MIT.
Какво ново:
- добавена поддръжка на взаимно изключващи се аргументи:
auto &group = 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();
- добавен пренасочен вариант 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
