使用提升 Qi 解析为结构的随机顺序
Random order for parsing into struct using Boost Qi
Boost
提供了一个简洁的示例,介绍如何非常轻松地将数据解析为已在此处转换为 Boost Fusion 元组的结构,但我只是想知道如何调整代码以允许解析无序数据 - 即参考链接中找到的员工示例,我们希望能够正确解析employee { "surname", "firstname", age, salary }
。这个例子有点不那么具体,因为age
的签名可能与salary
没有区别,对于surname
和firstname
也是如此。
但是假设我们调整我们的解析器以具体解析形式employee { surname = "Smith", firstname = "John", age = 34, salary = 60000 }
的输入,并希望能够以随机顺序输入四个属性并允许正确的解析。我该怎么做?
以下内容与您的任务相关:
-
排列解析器 (a ^ b)
排列运算符 a ^ b 匹配一个或多个操作数 (a, b, ...等)以任何顺序
但是,如果您的元素不是可选的,则需要添加验证
-
带有
kwd
指令的关键字列表运算符允许更精细的控制:住在科里鲁
constraint_person_rule = kwd("name",1) ['=' > parse_string ] / kwd("age" ,1) ['=' > int_] / kwd("size" ,1) ['=' > double_ > 'm'] / kwd("favorite color",0,inf) [ '=' > parse_string ] ;
相关文章:
- 如何循环打印顶点结构
- 通过方法访问结构
- 一种有效的数据结构,用于按 ID 访问和查找加权随机项
- C++ STL 数据结构常时按索引推送/弹出/随机访问,并具有指向元素的可靠指针
- 如果不初始化结构中的向量,它会自动为空还是具有随机内存位置的值?
- 遍历我的数据结构,并向其中输入随机值
- 生成用于测试的随机结构的通用方法
- 编译时随机化结构成员的顺序
- 用于随机访问和元素循环的最佳数据结构(C++)
- 我需要一个像堆栈一样的数据结构,但具有随机访问,但是,我应该实现什么
- 用于双向随机访问的 C++ 高效数据结构
- 使用提升 Qi 解析为结构的随机顺序
- 可以处理随机访问和键搜索的数据结构是什么?
- 寻找一种提供随机和"sequential"访问的数据结构
- 从结构向量中选择随机结构
- C++结构中的随机字母
- 具有内部随机函数的结构的CUDA移植
- 我应该使用什么数据结构来支持插入、删除和随机选择
- 该数据结构支持高效删除和随机访问
- 随机访问时至少有O(ln N),删除时至少有0(ln N”[不重复]的数据结构