问题标签 [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 回答
345 浏览

c++ - Boost Phoenix(或 Boost Lambda) - 懒惰地取指针

有没有办法获取惰性凤凰值/ ref 的指针?如果有怎么办?

0 投票
3 回答
1097 浏览

c++ - 如何编写返回新函子的 boost::lambda 函子

如何编写带有两个占位符的 lambda 表达式,一个用于可调用对象,一个用于函数参数,以便首先提供可调用对象返回一元函数。

在下面的示例中,generate应该是一个 lambda 表达式,其中第一个占位符代表可调用对象本身,第二个占位符代表参数。调用generate(c)应该返回一个只缺少函数调用参数的一元函数。事实上,bool正如静态断言所证明的那样,它已经以某种方式返回了类型。

0 投票
2 回答
1109 浏览

c++ - 使用 Boost.Fusion 函数列表

我正在尝试将函数对象列表应用于以下代码中的某个值。但是这段代码会导致 错误
boost_1_44\boost\fusion\algorithm\iteration\detail\for_each.hpp(82): error C2064:

如何将函数对象列表应用于某个值?

0 投票
2 回答
407 浏览

c++ - 使用 boost::lambda 复制容器

0 投票
2 回答
232 浏览

c++ - 使用 boost lambda 访问静态成员

我正在尝试使用写一些简单的谓词boost::lambda,但我遇到了很多错误。

我检查了文档,我对访问std::string::nposlambda 表达式中的静态变量有一些疑问。在我的代码下面。

如果我改变比较

它构建得很好,但我不确定表达式是否格式正确。有时我发现,由于 lambda 中的惰性评估,我没有得到预期的结果(不是在这种情况下,而是在之前的 lambda 测试中),因为调用可能会延迟。

您是否知道在 boost lambda 中访问静态成员的正确方法是什么?

我谢谢大家

AFG

0 投票
2 回答
451 浏览

c++ - boost::lambda 表达式由于抽象模板 arg 的实例化而无法编译。任何解释和/或解决方法?

我正在学习 boost::lambda 并且我已经设法创造了一个我目前所知道的无法解决的情况。

显然,在 boost::lambda 的内部,以下示例导致尝试实例化抽象类 AbstractFoo,并阻止 lambda 表达式编译。问题是我不知道它为什么要实例化它,所以我无法尝试解决它。

任何能够:

  • 告诉我为什么会这样?
  • 建议解决方法?

例子:

这无法编译(在 gcc 4.4.3 上,boost 1_40)并出现怪物模板错误,其中重要的部分似乎是:

0 投票
4 回答
969 浏览

c++ - 使用 shared_ptr 提升 lambda

如果我有一个称为 Base 的多态基类以及从 Base 继承的 Derived1 和 Derived2 类。然后我可以使用 boost::lambda 创建一个工厂。就像是:

(这不是真正的代码,我只是想说明问题。)

这可行,因此我可以使用字符串在地图中进行查找,然后调用 lambda 函数来实例化该类。都好。

问题在于它处理的是原始指针,我更喜欢使用智能指针(std::shared_ptr)。

所以如果我改变:

至:

然后我从这里被卡住了。我尝试将 boost::lambda::bind 与 boost::lambda::new_ptr 结合使用,但我运气不佳,无法克服编译错误。(大量与模板相关的错误输出。)

我在 StackOverflow 中检查了其他类似的消息,使用 boost::bind 和 boost::lambda::new_ptr 返回 shared_ptr 构造函数是关闭的,但是如果我尝试应用它的解决方案,我会得到上面提到的模板错误。

如果有帮助,我很乐意提供示例代码和实际错误,但希望上述信息就足够了。我在 GCC 4.6 上使用 boost 1.47.0 以及在 Fedora 15 上使用 4.7 快照。

0 投票
6 回答
6047 浏览

c++ - boost 函数和 lambda 来包装一个函数

我想转换这个简单的代码:

类似的东西,为了不在外面声明 setZComp 而是某种内联声明

我对 Boost Bind 和 Lambda 很陌生,我不知道这是否可以通过某种方式完成。显然上面的代码不起作用。

0 投票
2 回答
559 浏览

c++ - 另一种复制算法

我有两个向量。

这两个向量被填充并且具有相同的大小。我需要一些算法来分配对象变量。它可能正在使用 boost::lambda。比方说:

有什么建议吗?

0 投票
1 回答
523 浏览

c++ - boost lambda with a vector of shared pointers

Below is a slightly modified code from one good example how to copy values fro one vector of strings to another vector of objects. (see: another copy algorithm )

In this case I'm using dynamically allocated Objects, and because boost::lambda::bind can't handle such changes as boost::bind do, I need to dereference placeholder in order to compile:

But then at the output I've got:

What is your explanation?