相关疑难解决方法(0)

如何将boost :: any打印到流中?

我有一个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;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是不可能的,因为boost::any没有operator<<定义.

打印该地图最简单的方法是什么?

我可以为任何自动尝试将每个输出运算符定义为anyint,然后是double,然后是字符串等,每次忽略错误并尝试强制转换直到转换成功并且我可以打印为指定类型.

但是在Boost中应该有一个更简单的方法吗?我需要像反向的东西lexical_cast......

c++ printing boost boost-any

16
推荐指数
3
解决办法
8713
查看次数

标签 统计

boost ×1

boost-any ×1

c++ ×1

printing ×1