我想使用 Boost 范围适配器通过 C++11 lambda 函数将映射映射(转换)到列表。像这样:
boost::copy(myMap | transformed([](pair<string, string> p){return p.first;}),
ostream_iterator<string>(cout, ", "));
这不起作用,因为 std::function 没有 value_type 类型。我知道这种特殊的转换可以用 map_keys 来完成,但我的观点更笼统。如何在 Boost 中使用 C++11 lambda?
如果没有样板就无法完成,是否有解决此问题的计划?我曾尝试搜索它,但发现的很少。