问题标签 [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.
c++ - enable_if boost::fusion 可调用
有没有办法专门为 boost::fusion 可调用对象使用 enable_if?
这里F是一个融合“融合函数”可以取任意序列作为参数
c++ - 如何从精神语义规则绑定/调用存储在 fusion::vector 中的 boost::function?
我正在尝试通过 qi::symbols 使用 boost::function 类型的值映射一些关键字处理程序(方法)。所以如果找到关键字我想调用方法。但我无法从这张地图绑定方法。编译器因 phoenix::bind 上的一堆错误而失败。我做错了什么?
部分代码如下:
编译器错误:
c++ - BOOST_FUSION_ADAPT_TPL_STRUCT 和模板数组大小
由于BOOST_FUSION_ADAPT_TPL_STRUCT,我正在尝试迭代 C++ 模板结构。我的结构包含固定大小的多维数组,其大小是模板参数。如果我们考虑修改 Boost 的示例以适应我的问题:
编译失败。此外,如果我们只添加一个整数模板参数而不使用它作为数组大小,它也会失败。
这甚至可能BOOST_FUSION_ADAPT_TPL_STRUCT
吗?如果没有,我该怎么做?
c++ - 将字符串流式传输到 boost::fusion::vector 不起作用?
我想通过从 std::cin 流式传输来初始化 fusion::vector。正如文档所说,这似乎是不可能的:
...使用 std::string 或 C 风格的字符串元素提取序列通常不起作用,因为流式序列表示可能无法明确解析
之前可能已经问过这个问题,但我想深入了解“可解析字符串”的外观。
她就是一个例子:
输出:
如何让 fusion io 运算符“>>”与 std::string 很好地配合使用?
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_ref
在add()
函数中使用 a 。这是为什么?
此外,有没有更好(或更简单)的方法来实现我想要做的事情?boost::fusion::zip
可能不是最合适的,但我找不到任何其他简单的方法来做到这一点。
c++ - 从函数返回任意类型
我想从函数返回任意类型。返回类型动态地取决于多态函数调用。例如,以下从具有不同列数的 CSV 文件中读取值,
我如何编写getTuple()
签名以根据调用的对象返回不同的类型?
解决方案:
c++ - 如何在运行时将值推回融合向量?
如何在运行时将值推回融合向量?
c++ - 将 Boost:Tuple 解析为 char*(带字节序)
我有许多类具有不同的私有成员实现,boost::tuple<> structures
即。<std::string, int>
或<short, short, float>
。我现在需要将该元组解析为私有元组const char* message
(因为我想通过 tcp 发送它),但不能不改变那些需要改变字节序的数据类型的字节序。
这是我到目前为止所拥有的:
在继续之前,我认为我需要知道一些事情:
如何跟踪元组成员,以便我可以
message
根据他们的数据类型(静态成员,也许?)分配空间如何在模板中区分符合
ntohl
要求的数据类型和需要不同处理的数据类型,即std::string
- 这甚至是正确的方法吗?