灵气:在规则中插入预定义的输出
Spirit Qi: Inserting pre-defined output in a rule
如何
设置一个规则来返回预定义的输出,而不是从我的输入文本中解析的内容?
像这个例子:GiveQuoteOrText
将首先尝试使用 Quoted
将输入解析为带引号的字符串,如果失败,无论输入如何,都应始终输出"文本!
qi::rule<Iterator, std::string()> GiveQuoteOrText;
qi::rule<Iterator, std::string()> Quoted;
Quoted %= '"' >> *(char_ - '"') > '"';
GiveQuoteOrText %= Quoted | OUTPUT("Text!"); //made up an OUTPUT command
这可能吗? 有没有办法控制迭代器完成后的进度?
GiveQuoteOrText %= Quoted | qi::attr("Text!");
如果对象涉及更多,您可以使用qi::eps
:
rule = qi::eps[qi::_val = phx::construct<MyObject>(args)]
在每种情况下,它都只是一个后续规则,无需解析任何内容,因此迭代器不会移动。如果你想让它移动,你需要解析相应的部分并使用qi::omit
来阻止属性(如果有的话)。
相关文章:
- 根据预定义的值生成字符列表
- 如何在 c++ 中按预定义的顺序循环浏览类实例?
- 如何从预定义的数组创建某些元素数组
- 重新定义预定义的 errno 错误消息 (E2BIG)
- 在C++中将(预定义的)原子值添加到矢量
- 有没有办法制作一个 c++ 宏(或类似的东西),它使用户语句被 while 循环的预定义函数包围?
- 如何使用 strcmp 将字符串与预定义字符串进行比较
- 如何为缺少预定义运算符而不扩展命名空间"std"的标准类型定义运算符>> (istream &, ...)?
- 在多个对象中初始化预定义成员变量的正确方法是什么?
- 我们如何在c 中序列化或应对类的对象.是否有任何预定义的库
- 如何将预定义数据类型的值存储到数组中并输出它
- 将预定义的颜色添加到简单的C++颜色类
- 具有多个属性的预定义运算符
- 使用特征的预定义列表将矩阵替换为对角矩阵
- 如何存储根据日期排序的预定义值在C 中排序
- 在预定义的注册表密钥手柄上调用regclosekey
- 在 c++ 中将 find_first_of 与字符串一起使用,而不是一组预定义字符
- 灵气:在规则中插入预定义的输出
- 对大量c++错误输出完全一无所知.我认为这与预定义的函数和迭代器有关
- 访问Ximea相机并使用OpenCV设置预定义的分辨率时,由于相机默认分辨率的大小为Mat,因此显示混乱的输出