![]() |
Home | Libraries | People | FAQ | More |
boost::parser::callback_parse
// In header: <boost/parser/parser.hpp> template<parsable_range R, typename Parser, typename GlobalState, typename ErrorHandler, typename Callbacks> bool callback_parse(R const & r, parser_interface< Parser, GlobalState, ErrorHandler > const & parser, Callbacks const & callbacks, trace trace_mode = trace::off);
Parses r using parser, and returns whether the parse was successful. The entire input range r must be consumed for the parse to be considered successful. When a callback rule r is successful during the parse, one of two things happens: 1) if r has an attribute, callbacks(tag, x) will be called (where tag is decltype(r)::tag_type{}, and x is the attribute produced by r); or 2) if r has no attribute, callbacks(tag) will be called. Callbacks is expected to be an invocable with the correct overloads required to support all successful rule parses that might occur. If trace_mode == trace::on, a verbose trace of the parse will be streamed to std::cout.
Template Parameters: |
|