2017-12-02 12 views
0

boost.program_optionsライブラリは、プログラムの実行時にコマンドラインで提供されるパラメータを格納し、プログラムでアクセスできるようにします。CLIの解析が終了した後で、program_optionsとパラメータを追加することはできますか?

ライブラリ関数(私にはわからない、簡単にコーディングする)を呼び出してオプション/パラメータをインスタンス化し、プログラムが実行され、既にすべてのCLI引数を解析した後に、オプションの値パラメータを変更することは現実的ですか?言い換えれば、ソースコードですでに設定されている既存のオプションを起動(つまり追加)できますが、呼び出し時には言及できませんか?

なぜですか?プログラムにGUIがあり、ユーザーがコマンドラインで設定したいくつかの設定を更新したいとしましょう。

答えて

0

再解析する必要があります。

program_options_descriptionsを動的に追加すると、すでに解析済みのものを変更するのではなく、追加オプションを追加するプラグインがある場合があります。または、いくつかのオプションセット(基本、高度、環境変数、設定ファイルがソースされています)を取得し、variables_mapを入力します。

options_descriptionには別のoptions_descriptionインスタンスを取得してadd()オーバーロードがあり、そのインスタンスのオプションをthisに追加します。しかし、このような追加によって、variable_map内の解析済みアイテムは変更されません。

関連する問題