问题标签 [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.
c++ - Boost Phoenix(或 Boost Lambda) - 懒惰地取指针
有没有办法获取惰性凤凰值/ ref 的指针?如果有怎么办?
c++ - 如何编写返回新函子的 boost::lambda 函子
如何编写带有两个占位符的 lambda 表达式,一个用于可调用对象,一个用于函数参数,以便首先提供可调用对象返回一元函数。
在下面的示例中,generate
应该是一个 lambda 表达式,其中第一个占位符代表可调用对象本身,第二个占位符代表参数。调用generate(c)
应该返回一个只缺少函数调用参数的一元函数。事实上,bool
正如静态断言所证明的那样,它已经以某种方式返回了类型。
c++ - 使用 Boost.Fusion 函数列表
我正在尝试将函数对象列表应用于以下代码中的某个值。但是这段代码会导致
错误
boost_1_44\boost\fusion\algorithm\iteration\detail\for_each.hpp(82): error C2064:
如何将函数对象列表应用于某个值?
c++ - 使用 boost lambda 访问静态成员
我正在尝试使用写一些简单的谓词boost::lambda
,但我遇到了很多错误。
我检查了文档,我对访问std::string::npos
lambda 表达式中的静态变量有一些疑问。在我的代码下面。
如果我改变比较
它构建得很好,但我不确定表达式是否格式正确。有时我发现,由于 lambda 中的惰性评估,我没有得到预期的结果(不是在这种情况下,而是在之前的 lambda 测试中),因为调用可能会延迟。
您是否知道在 boost lambda 中访问静态成员的正确方法是什么?
我谢谢大家
AFG
c++ - boost::lambda 表达式由于抽象模板 arg 的实例化而无法编译。任何解释和/或解决方法?
我正在学习 boost::lambda 并且我已经设法创造了一个我目前所知道的无法解决的情况。
显然,在 boost::lambda 的内部,以下示例导致尝试实例化抽象类 AbstractFoo,并阻止 lambda 表达式编译。问题是我不知道它为什么要实例化它,所以我无法尝试解决它。
任何能够:
- 告诉我为什么会这样?
- 建议解决方法?
例子:
这无法编译(在 gcc 4.4.3 上,boost 1_40)并出现怪物模板错误,其中重要的部分似乎是:
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 快照。
c++ - boost 函数和 lambda 来包装一个函数
我想转换这个简单的代码:
类似的东西,为了不在外面声明 setZComp 而是某种内联声明
我对 Boost Bind 和 Lambda 很陌生,我不知道这是否可以通过某种方式完成。显然上面的代码不起作用。
c++ - 另一种复制算法
我有两个向量。
这两个向量被填充并且具有相同的大小。我需要一些算法来分配对象变量。它可能正在使用 boost::lambda。比方说:
有什么建议吗?
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?