27得票4回答
Boost Fusion文章、示例、教程?

你是否了解boost::fusion库的一些好的资源/文章/示例用法? Boost Fusion非常有趣,我认为我理解了它的工作方式和如何使用基础知识,但我正在寻找一些展示有趣用法/实践的资源,例如文章或博客(除了boost.org本身)。

13得票5回答
Boost.Fusion运行时开关

我正在从文件中读取对象的类型:enum class type_index { ... }; type_index typeidx = read(file_handle, type_index{}); 根据类型索引,我想创建一个类型(从可能的类型列表中),并对其执行通用操作(对于每种类型使用相同...

12得票1回答
访问boost fusion映射字段名

我一直在尝试使用一些boost fusion的东西来将普通的c结构体写入文件。 XML文件似乎是捕获数据并使其与其他工具兼容或手动编辑的好方法。 看起来我已经接近成功,但似乎缺少了一些基本的东西。 我正在使用与boost :: fusion快速启动页面上相似的东西:http://www.boo...

11得票2回答
boost::MPL和boost::fusion的区别

我是一名新手,对于boost::fusion和boost::mpl库还不太熟悉。请问有人可以告诉我这两个库的主要区别吗? 到目前为止,我只使用了fusion::vector和其他几个简单的内容。现在我想使用fusion::map或者MPL::map,但我不知道该如何选择合适的一个。 我需要...

10得票4回答
Haskell中与Boost.Fusion相当的库

我一直在尝试使用GADT等创建完全类型化的Haskell DSEL,以实现全类型安全的AST。然而,正确类型化编译器需要涉及从Haskell类型到类型和值的映射(类型环境),这些内容可以被Haskell类型系统理解。C ++有Boost.Fusion库,其中包含这样的结构(类型->值映射,类型...

10得票1回答
BOOST_FUSION_ADAPT_STRUCT没有使用正确数量的参数。

我正在使用Boost::Spirit将一些文本解析为结构体。这需要使用BOOST_FUSION_ADAPT_STRUCT来解析文本并直接存储到结构中。我知道这个宏需要2个参数:第一个参数是结构体名称,第二个参数是所有结构体成员。我已经传递了这两个参数,但是编译时出现了错误:error: mac...

9得票2回答
使用boost fusion adapt_struct迭代访问C++嵌套结构字段

有两个 stackoverflow 答案 建议使用 fusion adapt_struct 方法来迭代结构体字段。这种方法看起来很不错。但是,如果想迭代一个本身就是结构体的字段,应该怎么做呢? 根据之前的答案,我写出了下面的代码。问题在于,“#if 0”子句的代码无法编译。作为替代方案,我创...

9得票1回答
如何在运行时查找boost::fusion::vector中的元素?

我这里有一个专有实现的通用状态机,它使用std::tr1::tuple作为转移表: template<State StartState, Event TriggerEvent, State TargetState> struct transition {...}; typede...

9得票2回答
BOOST_FUSION_ADAPT_STRUCT的局限性

我尝试使用BOOST_FUSION_ADAPT_STRUCT宏,并尝试了一些天真的事情,比如使用Fusion来打印任意结构。 从这个文档中给出的示例代码开始,我无法对我的适配结构执行一些与Fusion序列允许的操作。 #include <boost/fusion/adapted.hp...

9得票1回答
单成员结构体的灵气属性传递问题

我在Spirit Qi编译时遇到了问题,它抱怨value_type不是identifier的成员。由于某种原因,Qi的属性系统认为identifier是一个容器类型,并试图枚举它的值类型。 这与这个问题类似,但我认为原因是单个成员结构体,可能与这个错误有关。 #include <st...