STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
parser Class Reference

#include <toml.hpp>

Collaboration diagram for parser:
[legend]

Public Member Functions

 parser (utf8_reader_interface &&reader_)
TOML_NODISCARD operator parse_result () &&noexcept

Private Member Functions

TOML_NODISCARD source_position current_position (source_index fallback_offset=0) const noexcept
template<typename... T>
TOML_RETURNS_BY_THROWING TOML_NEVER_INLINE void set_error_at (source_position pos, const T &... reason) const
template<typename... T>
TOML_RETURNS_BY_THROWING void set_error (const T &... reason) const
void go_back (size_t count=1) noexcept
void advance ()
void start_recording (bool include_current=true) noexcept
void stop_recording (size_t pop_bytes=0) noexcept
bool consume_leading_whitespace ()
bool consume_line_break ()
bool consume_rest_of_line ()
bool consume_comment ()
TOML_NODISCARD bool consume_expected_sequence (std::u32string_view seq)
template<typename T>
TOML_NODISCARD bool consume_digit_sequence (T *digits, size_t len)
template<typename T>
TOML_NODISCARD size_t consume_variable_length_digit_sequence (T *buffer, size_t max_len)
TOML_NODISCARD TOML_NEVER_INLINE std::string_view parse_basic_string (bool multi_line)
TOML_NODISCARD TOML_NEVER_INLINE std::string_view parse_literal_string (bool multi_line)
TOML_NODISCARD TOML_NEVER_INLINE parsed_string parse_string ()
TOML_NODISCARD TOML_NEVER_INLINE std::string_view parse_bare_key_segment ()
TOML_NODISCARD TOML_NEVER_INLINE bool parse_boolean ()
TOML_NODISCARD TOML_NEVER_INLINE double parse_inf_or_nan ()
TOML_NODISCARD TOML_NEVER_INLINE double parse_float ()
TOML_NODISCARD TOML_NEVER_INLINE double parse_hex_float ()
template<uint64_t base>
TOML_NODISCARD TOML_NEVER_INLINE int64_t parse_integer ()
TOML_NODISCARD TOML_NEVER_INLINE date parse_date (bool part_of_datetime=false)
TOML_NODISCARD TOML_NEVER_INLINE time parse_time (bool part_of_datetime=false)
TOML_NODISCARD TOML_NEVER_INLINE date_time parse_date_time ()
TOML_NODISCARD node_ptr parse_array ()
TOML_NODISCARD node_ptr parse_inline_table ()
TOML_NODISCARD node_ptr parse_value_known_prefixes ()
TOML_NODISCARD node_ptr parse_value ()
TOML_NEVER_INLINE bool parse_key ()
TOML_NODISCARD key make_key (size_t segment_index) const
TOML_NODISCARD TOML_NEVER_INLINE table * parse_table_header ()
TOML_NEVER_INLINE bool parse_key_value_pair_and_insert (table *tbl)
void parse_document ()

Static Private Member Functions

static void update_region_ends (node &nde) noexcept

Private Attributes

utf8_buffered_reader reader
table root
source_position prev_pos = { 1, 1 }
const utf8_codepoint * cp = {}
std::vector< table * > implicit_tables
std::vector< table * > dotted_key_tables
std::vector< table * > open_inline_tables
std::vector< array * > table_arrays
parse_key_buffer key_buffer
std::string string_buffer
std::string recording_buffer
bool recording = false
bool recording_whitespace = true
std::string_view current_scope
size_t nested_values = {}
optional< parse_error > err

Static Private Attributes

static constexpr size_t max_nested_values = TOML_MAX_NESTED_VALUES

Detailed Description

Definition at line 13508 of file toml.hpp.

Constructor & Destructor Documentation

◆ parser()

parser::parser ( utf8_reader_interface && reader_)
inline

Definition at line 15970 of file toml.hpp.

References cp, err, parse_document(), prev_pos, reader, root, and update_region_ends().

Member Function Documentation

◆ advance()

void parser::advance ( )
inlineprivate

◆ consume_comment()

◆ consume_digit_sequence()

template<typename T>
TOML_NODISCARD bool parser::consume_digit_sequence ( T * digits,
size_t len )
inlineprivate

◆ consume_expected_sequence()

TOML_NODISCARD bool parser::consume_expected_sequence ( std::u32string_view seq)
inlineprivate

◆ consume_leading_whitespace()

◆ consume_line_break()

◆ consume_rest_of_line()

bool parser::consume_rest_of_line ( )
inlineprivate

Definition at line 13670 of file toml.hpp.

References advance(), consume_line_break(), cp, is_eof, return_if_error, and return_if_error_or_eof.

◆ consume_variable_length_digit_sequence()

template<typename T>
TOML_NODISCARD size_t parser::consume_variable_length_digit_sequence ( T * buffer,
size_t max_len )
inlineprivate

Definition at line 13761 of file toml.hpp.

References advance_and_return_if_error, cp, is_eof, return_if_error, and TOML_ASSERT_ASSUME.

Referenced by parse_time().

◆ current_position()

TOML_NODISCARD source_position parser::current_position ( source_index fallback_offset = 0) const
inlineprivatenoexcept

Definition at line 13532 of file toml.hpp.

References cp, is_eof, and prev_pos.

Referenced by parse_document(), parse_key(), parse_table_header(), parse_value(), and set_error().

◆ go_back()

void parser::go_back ( size_t count = 1)
inlineprivatenoexcept

Definition at line 13566 of file toml.hpp.

References count(), cp, prev_pos, reader, return_if_error, and TOML_ASSERT_ASSUME.

Referenced by parse_string(), and parse_value().

◆ make_key()

TOML_NODISCARD key parser::make_key ( size_t segment_index) const
inlineprivate

Definition at line 15547 of file toml.hpp.

References key_buffer, root, and TOML_ASSERT.

Referenced by parse_key_value_pair_and_insert(), and parse_table_header().

◆ operator parse_result()

TOML_NODISCARD parser::operator parse_result ( ) &&
inlinenoexcept

Definition at line 15995 of file toml.hpp.

References err, and root.

◆ parse_array()

◆ parse_bare_key_segment()

TOML_NODISCARD TOML_NEVER_INLINE std::string_view parser::parse_bare_key_segment ( )
inlineprivate

◆ parse_basic_string()

◆ parse_boolean()

◆ parse_date()

◆ parse_date_time()

◆ parse_document()

◆ parse_float()

◆ parse_hex_float()

◆ parse_inf_or_nan()

◆ parse_inline_table()

◆ parse_integer()

◆ parse_key()

◆ parse_key_value_pair_and_insert()

◆ parse_literal_string()

◆ parse_string()

◆ parse_table_header()

◆ parse_time()

◆ parse_value()

◆ parse_value_known_prefixes()

TOML_NODISCARD node_ptr parser::parse_value_known_prefixes ( )
inlineprivate

◆ set_error()

template<typename... T>
TOML_RETURNS_BY_THROWING void parser::set_error ( const T &... reason) const
inlineprivate

Definition at line 13561 of file toml.hpp.

References current_position(), and set_error_at().

Referenced by parse_document(), and parse_key_value_pair_and_insert().

◆ set_error_at()

template<typename... T>
TOML_RETURNS_BY_THROWING TOML_NEVER_INLINE void parser::set_error_at ( source_position pos,
const T &... reason ) const
inlineprivate

◆ start_recording()

void parser::start_recording ( bool include_current = true)
inlineprivatenoexcept

◆ stop_recording()

void parser::stop_recording ( size_t pop_bytes = 0)
inlineprivatenoexcept

◆ update_region_ends()

void parser::update_region_ends ( node & nde)
inlinestaticprivatenoexcept

Definition at line 15933 of file toml.hpp.

References end(), TOML_UNUSED, and update_region_ends().

Referenced by parser(), and update_region_ends().

Member Data Documentation

◆ cp

◆ current_scope

std::string_view parser::current_scope
private

Definition at line 13525 of file toml.hpp.

Referenced by set_error_at().

◆ dotted_key_tables

std::vector<table*> parser::dotted_key_tables
private

Definition at line 13518 of file toml.hpp.

Referenced by parse_key_value_pair_and_insert().

◆ err

optional<parse_error> parser::err
mutableprivate

Definition at line 13528 of file toml.hpp.

Referenced by advance(), operator parse_result(), parser(), and set_error_at().

◆ implicit_tables

std::vector<table*> parser::implicit_tables
private

Definition at line 13517 of file toml.hpp.

Referenced by parse_key_value_pair_and_insert(), and parse_table_header().

◆ key_buffer

parse_key_buffer parser::key_buffer
private

◆ max_nested_values

size_t parser::max_nested_values = TOML_MAX_NESTED_VALUES
staticconstexprprivate

Definition at line 13511 of file toml.hpp.

Referenced by parse_value().

◆ nested_values

size_t parser::nested_values = {}
private

Definition at line 13526 of file toml.hpp.

Referenced by parse_value().

◆ open_inline_tables

std::vector<table*> parser::open_inline_tables
private

Definition at line 13519 of file toml.hpp.

Referenced by parse_inline_table(), and parse_table_header().

◆ prev_pos

source_position parser::prev_pos = { 1, 1 }
private

Definition at line 13515 of file toml.hpp.

Referenced by advance(), current_position(), go_back(), and parser().

◆ reader

utf8_buffered_reader parser::reader
private

Definition at line 13513 of file toml.hpp.

Referenced by advance(), go_back(), parse_table_header(), parse_value(), parser(), and set_error_at().

◆ recording

bool parser::recording = false
private

Definition at line 13524 of file toml.hpp.

Referenced by advance(), start_recording(), and stop_recording().

◆ recording_buffer

std::string parser::recording_buffer
private

◆ recording_whitespace

bool parser::recording_whitespace = true
private

Definition at line 13524 of file toml.hpp.

Referenced by advance(), parse_key(), and start_recording().

◆ root

◆ string_buffer

std::string parser::string_buffer
private

Definition at line 13522 of file toml.hpp.

Referenced by parse_bare_key_segment(), parse_basic_string(), and parse_literal_string().

◆ table_arrays

std::vector<array*> parser::table_arrays
private

Definition at line 13520 of file toml.hpp.

Referenced by parse_table_header().


The documentation for this class was generated from the following file:
  • daq-server/diablo_server/lib/include/toml++/toml.hpp