在Boost Spirit中,如何从生成属性的语义动作设置强制规则不匹配的布尔参数?
Boost Spirit Qi 实现规则选择性不匹配问题
当前代码实现
qi::_val = boost::phoenix::bind( [](const std::string&, const boost::optional<std::string>&) { return std::string(); }, qi::_1, qi::_2 )
需求说明
我需要让这条规则能够选择性地不匹配。查阅语义动作相关文档后,发现文档里并未提及如何通过返回值控制属性创建,同时实现规则不匹配的逻辑。
无效尝试
我曾尝试给lambda函数添加两个额外参数:
const boost::fusion::unused_type&, bool&
但这种方法没有效果。
内容的提问来源于stack exchange,提问作者Frank Puck
相关产品推荐
相关产品推荐

