boost-fusion相关内容

C++ 使用 boost fusion adapt_struct 迭代到嵌套结构域

两个stackoverflow 答案 建议使用 fusion adapt_struct 迭代结构字段的方法.这种方法看起来不错.但是,如何迭代到一个本身就是结构体的字段? 按照前面的答案,我想出了下面的代码.问题在于代码无法编译的“#if 0"子句.作为替代解决方案,我创建了“decode()"函数来获取指向目标参数的空指针.这有效,但在编译时丢失了类型信息.有更好的解决方案吗? stru ..

Boost Spirit x3:解析为结构体

来自 Boost Spirit X3 教程: 首先,让我们创建一个代表员工的结构体: namespace client { namespace ast{结构员工{年龄;std::string 姓氏;std::string 名;双薪;};}} 然后,我们需要将我们的员工结构告诉 Boost.Fusion 以使其成为语法可以利用的一流融合公民. BOOST_FUSION_ADAPT_STR ..
发布时间:2021-12-24 15:24:15 C/C++开发

从可选解析器表达式的可变参数列表生成 Spirit 解析器表达式

我正在寻找实现可变参数函数的最简单方法,该方法接受 boost::spirit::qi 规则列表并将列表扩展为格式表达式:rule1 |规则 2 |rule3 |.... 让我们假设规则不合成任何属性.非常感谢您的帮助. #include #include #include #include #include 命名空间 qi = boost::spirit::qi;命名空间 ph = boost ..

Boost Fusion文章,示例,教程?

您知道boost :: fusion库用法的任何好的资源/文章/示例吗? Boost Fusion看起来非常有趣,我想我了解它是如何工作的以及如何使用基础知识,但是我正在寻找一些显示出任何有趣用法/做法的资源,例如文章或博客(boost.org本身除外). 解决方案 我认为 johannes-schaub-小我应该是一个答案,因为我几乎忽略了它. 所以这里是:约翰内斯的出色例子 ..
发布时间:2021-04-19 20:54:12 C/C++开发

使用Boost Spirit X3解析具有交替标记的Selector结构

我正在尝试解析以下结构: 结构选择器{std :: string元素;std :: string id;std :: vector类;}; 此结构用于解析形式为 element#id.class1.class2.classn 的选择器.这些选择器始终以1或不包含任何元素开头,可以包含1或不包含id,并且可以包含0到n个类. 这会变得更加复杂,因为类和id ..
发布时间:2021-04-16 18:30:55 C/C++开发

解析成类(不是结构)

在下面,我显示了一个未编译的精神雇员示例.我要解决的问题是解析为类而不是结构.我知道,除了公共/私营部门之外,其他方面都是相同的.但是在将类/结构存储到向量中之前,我需要有一个构造函数来工作.如何更改BOOST_FUSION_ADAPT_STRUCT? 如何使它运行? // STD HEADER #include #include #includ ..
发布时间:2020-09-22 19:01:31 C/C++开发

使用精神来分析类吗?

下面是booster spirit文档中的employee.cpp源文件.它是“结构雇员",后跟一个宏,该宏告诉有关“结构雇员"的融合,然后是雇员解析器. 我正在尝试为此目的进行调整,但我不想使用“结构型员工",而是希望使用许多类来代替“结构型员工". 我正在尝试尝试将"struct employee"替换为类,但是我没有看到宏在融合中做到这一点吗?我不想将其放入struct的原因是因 ..
发布时间:2020-09-22 18:57:36 C/C++开发

为什么Boost.Spirit可以正确地将标识符解析为std :: string而不是解析为仅由std :: string组成的适应结构?

我为标识符定义了一条规则:以字母字符开头,后跟任意数量的字母数字字符.当我直接解析为std::string而不是包含单个std::string的经过调整的结构时,我会得到不同的结果. 如果我的语法属性是std::string,则Qi会正确地将字符序列调整到其中.但是使用该结构时,仅存储第一个字符.我不太清楚为什么会这样. (请注意,如果该结构是“真正"适应的,或者是由Fusion inlin ..
发布时间:2020-05-25 01:27:05 C/C++开发

BOOST_FUSION_ADAPT_STRUCT的限制

我尝试使用BOOST_FUSION_ADAPT_STRUCT宏,并尝试了一些幼稚的操作,例如使用Fusion来打印任意结构. 从此示例开始文档中提供的代码,我无法在适应的结构上执行融合序列允许的某些操作. #include #include #include ..
发布时间:2020-05-09 02:18:59 C/C++开发