私は現在、プログラムオプションを取得するためにいくつかの古いCライブラリを使用しており、それをいくつかの適切なC ++に置き換えたいと考えています(主にそのライブラリから独立するため、これは実際の負担です)。boost.program_optionsの使用を検討していましたが、必要なものすべてをサポートできるかどうかはわかりません。私が欲しいものは次のとおりです。
次のコマンドライン構文を許可します:(
myprogram option=value
特に、構文は必要ありません--option value
)値が提供されていない場合はデフォルト値を使用します(明らかにこれは私のプログラムで実行できますが、オプションライブラリでのサポートがあれば便利です)
デフォルトのオプション(指定しなくても常に存在する)と、すべてのオプションとその説明で構成される自動ヘルプ出力を許可します
数学的解析を許可
myprogram option1=Pi option2=3/5 option3=sqrt(2)
します。つまり、(コマンドライン)プログラムで3.1415 ...、0.6、および1.415...を指定します。単一の値を展開できるようにします。
option_3Dpoint
に対応させて、と(に展開)std::array<double,3>
の両方を機能させたいmyprogram option_3Dpoint=0,0,0
myprogram option_3Dpoint=0
0,0,0
これらのうち、boost.program_optionsでサポートできるのはどれですか?代替案はありますか?