NeBuild dev
Loading...
Searching...
No Matches
utf8_reader< T > Class Template Referencefinal
Inheritance diagram for utf8_reader< T >:
utf8_reader_interface

Classes

struct  codepoints_t
 
struct  currently_decoding_t
 

Public Member Functions

template<typename U , typename String = std::string_view>
TOML_NODISCARD_CTOR utf8_reader (U &&source, String &&source_path={}) noexcept(std::is_nothrow_constructible_v< utf8_byte_stream< T >, U && >)
 
TOML_PURE_INLINE_GETTER const source_path_ptrsource_path () const noexcept final
 
TOML_NODISCARD const utf8_codepointread_next () noexcept(!TOML_COMPILER_HAS_EXCEPTIONS) final
 
TOML_NODISCARD bool peek_eof () const noexcept(!TOML_COMPILER_HAS_EXCEPTIONS) final
 
TOML_NODISCARD optional< parse_error > && error () noexcept final
 
- Public Member Functions inherited from utf8_reader_interface
virtual ~utf8_reader_interface () noexcept=default
 

Private Member Functions

bool read_next_block () noexcept(!TOML_COMPILER_HAS_EXCEPTIONS)
 

Private Attributes

utf8_byte_stream< T > stream_
 
source_position next_pos_ = {1, 1}
 
impl::utf8_decoder decoder_
 
struct utf8_reader::currently_decoding_t currently_decoding_
 
struct utf8_reader::codepoints_t codepoints_
 
source_path_ptr source_path_
 
optional< parse_error > err_
 

Static Private Attributes

static constexpr size_t block_capacity = 32
 

Constructor & Destructor Documentation

◆ utf8_reader()

template<typename T >
template<typename U , typename String = std::string_view>
TOML_NODISCARD_CTOR utf8_reader< T >::utf8_reader ( U &&  source,
String &&  source_path = {} 
)
inlineexplicitnoexcept

Member Function Documentation

◆ error()

template<typename T >
TOML_NODISCARD optional< parse_error > && utf8_reader< T >::error ( )
inlinefinalvirtualnoexcept

Implements utf8_reader_interface.

◆ peek_eof()

template<typename T >
TOML_NODISCARD bool utf8_reader< T >::peek_eof ( ) const
inlinefinalvirtualnoexcept

Implements utf8_reader_interface.

◆ read_next()

template<typename T >
TOML_NODISCARD const utf8_codepoint * utf8_reader< T >::read_next ( )
inlinefinalvirtualnoexcept

Implements utf8_reader_interface.

◆ read_next_block()

template<typename T >
bool utf8_reader< T >::read_next_block ( )
inlineprivatenoexcept

◆ source_path()

template<typename T >
TOML_PURE_INLINE_GETTER const source_path_ptr & utf8_reader< T >::source_path ( ) const
inlinefinalvirtualnoexcept

Implements utf8_reader_interface.

Member Data Documentation

◆ block_capacity

template<typename T >
constexpr size_t utf8_reader< T >::block_capacity = 32
staticconstexprprivate

◆ codepoints_

template<typename T >
struct utf8_reader::codepoints_t utf8_reader< T >::codepoints_
private

◆ currently_decoding_

template<typename T >
struct utf8_reader::currently_decoding_t utf8_reader< T >::currently_decoding_
private

◆ decoder_

template<typename T >
impl::utf8_decoder utf8_reader< T >::decoder_
private

◆ err_

template<typename T >
optional<parse_error> utf8_reader< T >::err_
private

◆ next_pos_

template<typename T >
source_position utf8_reader< T >::next_pos_ = {1, 1}
private

◆ source_path_

template<typename T >
source_path_ptr utf8_reader< T >::source_path_
private

◆ stream_

template<typename T >
utf8_byte_stream<T> utf8_reader< T >::stream_
private

The documentation for this class was generated from the following file: