boost::parser::callback_prefix_parse
// In header: <boost/parser/parser.hpp> template<parsable_iter I, std::sentinel_for< I > S, typename Parser, typename GlobalState, error_handler< I, S, GlobalState > ErrorHandler, typename Callbacks> bool callback_prefix_parse(I & first, S last, parser_interface< Parser, GlobalState, ErrorHandler > const & parser, Callbacks const & callbacks, trace trace_mode = trace::off);
使用 parser
解析 [first, last)
,并返回解析是否成功。当回调规则 r
在解析期间成功时,会发生以下两种情况之一:1) 如果 r
具有属性,则会调用 callbacks(tag, x)
(其中 tag
是 decltype(r)::tag_type{}
,而 x
是 r
生成的属性);或者 2) 如果 r
没有属性,则会调用 callbacks(tag)
。期望 Callbacks
是一个可调用对象,具有支持可能发生的所有成功规则解析所需的正确重载。如果 trace_mode == trace::on
,则解析的详细跟踪将流式传输到 std::cout
。