Boost C++ 库

...世界上最受尊敬和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

函数模板 parse

boost::parser::parse

概要

// In header: <boost/parser/parser.hpp>


template<parsable_range R, typename Parser, typename GlobalState, 
         typename ErrorHandler, typename SkipParser, typename Attr> 
  bool parse(R const & r, 
             parser_interface< Parser, GlobalState, ErrorHandler > const & parser, 
             parser_interface< SkipParser > const & skip, Attr & attr, 
             trace trace_mode = trace::off);

描述

使用 parser 解析 r,跳过任何两个解析器应用之间由 skip 识别的所有输入,并返回解析是否成功。 必须消耗整个输入范围 r 才能认为解析成功。 成功后,attr 将被赋值为 parser 生成的属性值。 如果 trace_mode == trace::on,则详细的解析跟踪将被流式传输到 std::cout

模板参数

ErrorHandler (错误处理程序)

error_handler<ErrorHandler,std::ranges::iterator_t<decltype(subrange_of(r))>, std::ranges::sentinel_t<decltype(subrange_of(r))>, GlobalState> 约束,其中 subrange_of 是一个实现细节,它:从指针创建子范围;从有界数组(例如字符串字面量)中修剪尾随零;如果输入不是 char,则转码为 UTF-32。


PrevUpHomeNext