La documentazione descrive come separare le opzioni sotto l'intestazione Option Groups and Hidden Options. Dimostra definendo più options_description
oggetti e quindi utilizzando un gruppo all
per l'analisi della riga di comando, ma un gruppo visible
per la documentazione visualizzazione:
// 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;
}
Anche se la libreria Program_options consente di personalizzare alcune delle sintassi (vedi Non-conventional Syntax e Custom Validators) , non offre un modo per definire una grammatica personalizzata. Se si desidera definire la grammatica della riga di comando, utilizzare uno strumento diverso.
fonte
2011-11-15 17:02:51
grazie! In qualche modo ho letto su questo how-to ... – xtofl