问题标签 [boost-lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
553 浏览

c++ - 提升 lambda 示例

我有一个作为解决方案的一部分创建的地图

但不幸的是,我的编译器 gcc-4.4.2 不支持 lambda 函数。

我想要一个使用 boost 库的替代(可读)实现。(lambda / phoenix)

有什么办法可以将 C++ std:;lambdas 和 std::functions 偷偷溜进我的编译器 -std=C++0x,像这样的选项都失败了……:(

PS:请提供一个可读的解决方案

0 投票
1 回答
246 浏览

c++ - 在 boost::lambda 中使用 static_cast

我需要使用boost::lambda一些转换。

我试过这个:

但我有错误:

如何将此转换放入 lambda 中?

0 投票
1 回答
464 浏览

c++ - 将 boost::lambda 或 boost::phoenix 与 std::find_if 一起使用

我有这样的课

我想在一个充满 Foo 对象的向量上使用 find_if,如下所示:

我不太明白我必须写什么而不是???。我知道 _1 和 boost::lambda 或 arg1 和 boost::phoenix,但在那之后我不知所措。

编辑:

我尝试了以下不起作用的方法,即使我在许多示例中都看到了这样的情况。

然后我收到以下错误:

错误 C2678:二进制“==”:未找到采用“const boost::lambda::lambda_functor”类型的左侧操作数的运算符(或没有可接受的转换)

0 投票
0 回答
77 浏览

c++ - c ++将ostream运算符转换为函数调用

我觉得应该有一个单一的衬里boost::phoenix可以让我流式传输具有语法成员函数的...::stream_to(std::ostream&)对象<<。像这样的东西:

但苦苦寻找MAGIC_SOMETHING(...)。我对不需要我为它执行转发标记结构和 ostream 运算符的解决方案特别感兴趣。

0 投票
0 回答
117 浏览

c++ - boost lambda/phoenix中返回结构的访问成员

我想用更简单的基于仿函数的代码替换一些旧代码。但是我不想为此引入一个仿函数类并为此使用 boost::lambda/phoenix,因为我手头没有 C++11。

旧代码看起来像这样

我有一个函数,它为每个点调用 Functor(封装魔法)并在任何这些调用返回 true 时返回 true:

将其翻译为第一部分if很容易:

而对于第二个,我想做一些类似的事情:bind(&GetNode, this, _1).owner == player+1不支持。

这样做最易读的方法是什么?我认为这可能可以通过绑定一个引用this并直接使用 phoenix lambda 调用函数来解决,但我没有发现任何超出简单的“Hello World”lambdas 的引用,它只访问一个简单的成员或参数。

0 投票
1 回答
146 浏览

c++11 - 我可以将 C++11 lambda 与 libevent 一起使用吗?

在 event_new() 使用的 libevent 中有一个回调函数类型。

我想将 lambda 与 event_callback_fn 一起使用。

如果我使用

一切都好。
但是如果我使用 lambda 捕获列表

event_new() 不会被编译。