1#ifndef NEFORCE_CORE_FILE_TOML_TOML_PARSER_HPP__
2#define NEFORCE_CORE_FILE_TOML_TOML_PARSER_HPP__
26NEFORCE_BEGIN_NAMESPACE__
59 bool is_in_array_table_ =
false;
76 void skip_whitespace()
noexcept;
83 void skip_comment()
noexcept;
90 void skip_whitespace_and_comments()
noexcept;
97 void skip_newlines()
noexcept;
104 void skip_whitespace_no_newline()
noexcept;
110 char current()
const noexcept;
117 char peek(
size_t offset = 1)
const noexcept;
123 bool eof()
const noexcept;
140 bool expect(
char ch);
149 bool match(
char ch)
noexcept;
158 void throw_parse_error(
string message)
const;
169 char32_t parse_unicode_escape(
size_t digits);
272 string parse_bare_key();
280 string parse_quoted_key();
304 void parse_key_value();
311 void parse_table_header();
318 void parse_array_table_header();
352 text_(_NEFORCE
move(text)),
381NEFORCE_END_NAMESPACE__
unique_ptr< toml_table > parse()
执行解析
toml_parser(string text) noexcept
构造函数
optional< unique_ptr< toml_table > > try_parse()
尝试执行解析
constexpr void advance(Iterator &i, Distance n)
将迭代器前进指定距离
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
NEFORCE_CONSTEXPR20 unique_ptr< T > make_unique(Args &&... args)
创建unique_ptr