Gibt es eine Möglichkeit, Programmoptionen abhängig von anderen Optionen mit boost::program_options
zu machen?Boost Programm Optionen abhängige Optionen
Zum Beispiel meines Programm kann die folgende Beispiel Argumente akzeptieren:
wifi --scan --interface=en0
wifi --scan --interface=en0 --ssid=network
wifi --do_something_else
In diesem Beispiel ist die interface
und ssid
Argumente sind nur gültig, wenn sie von scan
begleitet werden. Sie sind abhängig von dem scan
Argument.
Gibt es eine Möglichkeit, dies automatisch mit boost::program_options
zu erzwingen? Es kann natürlich manuell implementiert werden, aber es scheint, dass es einen besseren Weg geben muss.
Ich vermute, es gibt keine Möglichkeit zu sagen boost :: po, das zu tun: werfen Sie einen Blick auf die öffentlichen APIs für [Wert_Semantic] (http://www.boost.org/doc/libs/1_58_0/doc/html /boost/program_options/value_semantic.html) (das 'po :: value()' bit) und [option_description] (http://www.boost.org/doc/libs/1_58_0/doc/html/boost/program_options /option_description.html) –
Rerito