问题标签 [boost-fusion]

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 回答
119 浏览

c++ - enable_if boost::fusion 可调用

有没有办法专门为 boost::fusion 可调用对象使用 enable_if?

这里F是一个融合“融合函数”可以取任意序列作为参数

0 投票
1 回答
320 浏览

c++ - 使用 Boost Fusion 显示扁平化的 Phoenix 表达式

0 投票
1 回答
952 浏览

c++ - 升级到更新版本后提升 fusion/mpl 问题

0 投票
1 回答
867 浏览

c++ - 如何从精神语义规则绑定/调用存储在 fusion::vector 中的 boost::function?

我正在尝试通过 qi::symbols 使用 boost::function 类型的值映射一些关键字处理程序(方法)。所以如果找到关键字我想调用方法。但我无法从这张地图绑定方法。编译器因 phoenix::bind 上的一堆错误而失败。我做错了什么?

部分代码如下:

编译器错误:

0 投票
2 回答
621 浏览

c++ - BOOST_FUSION_ADAPT_TPL_STRUCT 和模板数组大小

由于BOOST_FUSION_ADAPT_TPL_STRUCT,我正在尝试迭代 C++ 模板结构。我的结构包含固定大小的多维数组,其大小是模板参数。如果我们考虑修改 Boost 的示例以适应我的问题:

编译失败。此外,如果我们只添加一个整数模板参数而不使用它作为数组大小,它也会失败。

这甚至可能BOOST_FUSION_ADAPT_TPL_STRUCT吗?如果没有,我该怎么做?

0 投票
0 回答
183 浏览

c++ - 将字符串流式传输到 boost::fusion::vector 不起作用?

我想通过从 std::cin 流式传输来初始化 fusion::vector。正如文档所说,这似乎是不可能的:

...使用 std::string 或 C 风格的字符串元素提取序列通常不起作用,因为流式序列表示可能无法明确解析

之前可能已经问过这个问题,但我想深入了解“可解析字符串”的外观。

她就是一个例子:

输出:

如何让 fusion io 运算符“>>”与 std::string 很好地配合使用?

0 投票
1 回答
533 浏览

c++ - Boost::fusion、Eigen 和 zip 变换

这个问题是我所关心的另一个问题的衍生boost::fusion。这个想法是用来boost::fusion迭代包含 N 维数组的大型 C 风格结构。这些数组的计算由 完成Eigen。通过使用boost::fusion,可以对整个 C 结构应用简单的算术运算,例如标量乘法或向量加法。

在处理二进制操作时,我使用boost::fusion::zip形成单个序列,并boost::fusion::for_each迭代其他序列。

问题boost::fusion::zip在于它const在我需要修改其中一个值(例如加法的返回值)时构造序列。因此,我最终使用const_cast来修改该值(Eigen向量),但由于某种原因,我不能result_refadd()函数中使用 a 。这是为什么?

此外,有没有更好(或更简单)的方法来实现我想要做的事情?boost::fusion::zip可能不是最合适的,但我找不到任何其他简单的方法来做到这一点。

0 投票
1 回答
748 浏览

c++ - 从函数返回任意类型

我想从函数返回任意类型。返回类型动态地取决于多态函数调用。例如,以下从具有不同列数的 CSV 文件中读取值,

我如何编写getTuple()签名以根据调用的对象返回不同的类型?

解决方案:

0 投票
1 回答
194 浏览

c++ - 如何在运行时将值推回融合向量?

如何在运行时将值推回融合向量?

0 投票
0 回答
110 浏览

c++ - 将 Boost:Tuple 解析为 char*(带字节序)

我有许多类具有不同的私有成员实现,boost::tuple<> structures即。<std::string, int><short, short, float>。我现在需要将该元组解析为私有元组const char* message(因为我想通过 tcp 发送它),但不能不改变那些需要改变字节序的数据类型的字节序。

这是我到目前为止所拥有的:

在继续之前,我认为我需要知道一些事情:

  1. 如何跟踪元组成员,以便我可以message根据他们的数据类型(静态成员,也许?)分配空间

  2. 如何在模板中区分符合ntohl要求的数据类型和需要不同处理的数据类型,即std::string

  3. 这甚至是正确的方法吗?