9得票3回答
Boost::Spirit::Qi。如何将内联解析器表达式转换为独立的语法,并如何拆分它们生成的元组?

我正在使用QI和Phoenix,希望编写一个小规则,返回4个布尔值作为语义动作内部函数调用的参数。我有几个需要这些参数的函数,目前我采用了以下方法: ( qi::_bool >> qi::_bool >> qi::_bool >> qi::_bool...

8得票1回答
将一系列序列(的序列)展平

我是使用boost::fusion。 假设我有以下内容: make_vector(1, make_vector('b', 3, make_vector(4, 5.5), "six"), 7, 8) 我希望能够创建一个函数f,使其具有以下特点: f(make_vector(1, make...

8得票1回答
如何遍历boost::fusion关联结构并以通用方式访问键

这是我在这个伟大的知识交流社区中提出的第一个问题,希望能得到一些帮助。 我试图实现一种通用的方法来创建PrintTo函数(后续用于GoogleTest)。 因此,以下代码只完成了工作的一半。它仅打印已定义结构体Foo::Bar的值。 #include <iostream> #...

7得票3回答
在C++中动态和静态地访问结构体成员

我希望在C++中有一个结构体(或类似的东西),可以动态地访问其成员。它应该有通用的getter和setter,接受成员名称作为字符串,并返回某种变体类型(例如boost::variant)。 我认为可以使用boost::fusion::map来实现它,通过添加表示每个成员名称的字符串,并在字...

7得票1回答
Boost Fusion类型的offsetof

我目前正在尝试计算一个数据成员在boost融合适配结构中的偏移量,但我不确定是否有一种优雅的方法可以实现。我想做类似以下的操作: #include <iostream> #include <boost/fusion/adapted/struct/adapt_struct....

7得票1回答
Boost.MPL和类型列表生成

背景 这是一个游戏引擎中的内存管理器。我已经实现了一个freelist,并希望有一个编译时的列表(例如MPL或Fusion向量)来表示它们。这些freelist对应于分配大小,当分配/释放小于某个常量大小的对象时,它们将进入相应的freelist。 最终,这意味着全局小对象具有平均恒定的分...

7得票1回答
将包含字符串成员的类适应为合成属性。

我正在尝试将一个字符字符串解析为自定义类型symbol的属性,该类型包含一个std::string成员。我认为我可以在这里使用BOOST_FUSION_ADAPT_STRUCT,但它不起作用。 如果我将规则声明为rule<It, std::string(), space_type&gt...