В документации описывается, как разделить параметры под заголовком Группы параметров и Скрытые параметры . Он демонстрирует определение нескольких options_description
объектов и затем использование группы all
для анализа командной строки, но группу visible
для отображения документации:
// Declare an options description instance which will include
// all the options
options_description all("Allowed options");
all.add(general).add(gui).add(backend);
// Declare an options description instance which will be shown
// to the user
options_description visible("Allowed options");
visible.add(general).add(gui);
variables_map vm;
store(parse_command_line(ac, av, all), vm);
if (vm.count("help"))
{
cout << visible;
return 0;
}
Хотя библиотека Program_options позволяет вам настраивать некоторые синтаксисы (см. Нетрадиционный синтаксис и Пользовательские валидаторы ), она не предлагает способ определения пользовательской грамматики. Если вы хотите определить грамматику командной строки, используйте другой инструмент.