パッケージに含まれる Map std::map<std::string, boost::any>
があります。boost::program_options
次に、そのマップのコンテンツを印刷したいと思います。
for(po::variables_map::const_iterator it = vm.begin(); it != vm.end(); ++it) {
std::cerr << it->first << ": " << it->second << std::endl;
}
残念ながら、定義されboost::any
ていないため、それは不可能です。operator<<
その地図を印刷する最も簡単な方法は何ですか?
any
それぞれを int、次に double、次に string などに自動的にキャストしようとする独自の出力演算子を定義できます。毎回エラーを無視し、キャストが成功して指定された型として出力できるようになるまでキャストを試みます。
しかし、ブーストにはもっと簡単な方法があるはずですか? 私は逆のようなものが必要だろうlexical_cast
...