我可以将 std::function (C++11 lambda) 与 Boost 一起使用吗?
Can I use std::function (C++11 lambda) with Boost?
可能的重复项:
一起使用
将加速适配器与 C++11 λ
我想使用 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来完成,但我的观点更笼统。如何将 C++11 lambda 与 Boost 一起使用?
如果没有样板就无法完成,是否有任何计划来解决此问题?我尝试过搜索它,但发现的少得惊人。
我自己找到了!从 Boost 1.51.0 开始,您可以添加
#define BOOST_RESULT_OF_USE_DECLTYPE
在包含 boost 文件之前,它会神奇地使用 decltype 而不是 ::value_type 来推断返回类型。现在我的例子有效!
相关文章:
- 将 boost::odeint 与向量类一起使用,而无需调整向量的大小
- 如何将boost::asio::d eadline_timer 与Qt一起使用?
- 如何将来自 Boost.Python 的map_indexing_suite与自定义而不是标准对象一起使用?
- boost::interprocess::file_lock 与 std::ostream 一起使用时的错误行为
- 将boost::filtering_streambuf与newline_filter一起使用时为空文件
- 如何将前向声明与 boost::msm 一起使用以避免循环依赖?
- 将Bazel与本地Boost安装一起使用
- 将 boost::function 与指向派生类的共享指针的参数一起使用
- 在Windows 10和Visual Studio Community 2019下,将Boost与Bazel一起使用
- 将 boost-di 与配置文件和共享库一起使用
- Boost Asio和Co_await-与任何第三方回调一起使用
- 可以将boost :: unordered_map与std :: shared_ptr一起使用
- 将 boost odeint 与 std::map 和自定义向量空间代数一起使用时,没有可行的重载'='
- 无法让 matplotlib 事件处理程序与 Boost.Python 一起工作
- 将 boost::object_pool 与矢量一起使用时指针无效
- 如何与CMAKE一起使用VS 2017编译的Boost Filesystem库
- 如何将 boost::atomic_store 与 shared_ptr<T> 和 shared_ptr<const T> 一起使用?
- 与Boost一起使用溪流
- boost::与boost:asio绑定在一起.boost::绑定后续
- boost::与boost:asio绑定在一起.boost::绑定不起作用,从示例中复制