2011-11-09 3 views
5

プログラムオプションを使用して、アプリケーションのコマンドラインオプションを解析します。変数を使用せずにBoost Program Optionsで他のオプションを有効にするオプションを持つ方法は?

私は、-Ox、-Oy、-Ozのようないくつかのオプションを持っています.OxとOyを有効にする--Oallと、OzとOwを有効にする別の-Osubがあります。

Boost Program Optionsを使用してこれを行う方法はありますか?

まず、Oallの値をチェックしてから、OxとOyを手動で有効にしたかったのですが、解析後に値を編集することはできません。

私は、これらのオプションをたくさん持つことができるので、変数Oxを使用しないでください。

おかげ

+0

などを使うのか?言い換えれば、これらのオプションが個別に設定されているときにそれらのオプションに関連付けられたロジックをトリガする方法をどのように計画していますか? – rcollyer

+0

私はoptions.count( "Ox")と言ったかった –

+1

を理解しています。しかし、 'program_options'の中であるパラメータの出現を別のものとリンクさせる方法はありません。しかし、@CharlesBのメソッドを適合させることができるので、 'options.count(" Ox ")'をチェックするたびに 'options.count(" Oall ")'もチェックするようにします。 – rcollyer

答えて

1

私はので、私はプログラムオプションは、これを提供疑うあなたのプログラムのロジックでこれ以上を参照してください。 は、単にあなたが `Ox`、` Oy`、と `Oz`の変数を持つ避けたい場合は、どのように、あなたはそれらの値にアクセスすることを計画ん

if (Oall) 
{Ox = Oy = Oz = true;} 

+1

これはうまくいきますが、このソリューションでは、各オプションに変数をマッピングする必要があります。可能であれば、このケースを避けたいと思います。 –

+0

最後に、使用するのが最良の解決策だと思われます。ありがとう –

関連する問題