La documentación describe cómo separar las opciones bajo el encabezado Option Groups and Hidden Options. Demuestra que define múltiples options_description
objetos y luego usando un grupo all
para analizar la línea de comandos, pero un grupo visible
para la visualización de la documentación:
// 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;
}
Aunque la biblioteca Program_options le permite personalizar algunos de la sintaxis (ver Non-conventional Syntax y Custom Validators) , no ofrece una forma de definir una gramática personalizada. Si desea definir la gramática de la línea de comando, use una herramienta diferente.
gracias! De alguna manera, leí sobre este cómo hacerlo ... – xtofl