渡されたオプションをboost::program_optionsで検証しようとしています。私のコマンドにはいくつかのモードがあり、それぞれに指定可能なパラメータが関連付けられています。私がやろうとしているのは、これらの関連するパラメータがモードで渡されることを確認することです。
unicorn --fly --magic-wings-threshold
ここ--fly
で、はモードであり--magic-wings-threshold
、は関連するパラメータです。私が気付いたのは--magic-wings-threshold
、デフォルト値があるかどうかです。
("magic-wings-threshold,w", po::value<double>(&wings_thresh)->default_value(0.8, "0.8"),
"Magic wings maximum power"
)
それなら私は使えません
if (vm.count("magic-wings-threshold")( {
// do stuff
}
ユーザーがそのパラメーターを渡したかどうかを検出します。
デフォルト値のparamsは常に渡され、で検出されるようvm.count()
です。誰かが回避策または代替案を知っていますか?