userver: formats::json::parser::MapParser< Map, ValueParser > Class Template Reference
Loading...
Searching...
No Matches
formats::json::parser::MapParser< Map, ValueParser > Class Template Referencefinal

#include <userver/formats/json/parser/map_parser.hpp>

Detailed Description

template<typename Map, typename ValueParser>
class formats::json::parser::MapParser< Map, ValueParser >

SAX parser that fills maps from JSON objects.

Definition at line 15 of file map_parser.hpp.

Inheritance diagram for formats::json::parser::MapParser< Map, ValueParser >:

Public Types

using Value = typename Map::mapped_type
using ResultType

Public Member Functions

 MapParser (ValueParser &value_parser)
void Reset () override
void StartObject () override
void Key (std::string_view key) override
void EndObject () override
std::string Expected () const override
void Subscribe (Subscriber< Map > &subscriber)
TypedParser< Map > & GetParser ()
virtual void Null ()
virtual void Bool (bool)
virtual void Int64 (int64_t)
virtual void Uint64 (uint64_t)
virtual void Double (double)
virtual void String (std::string_view)
virtual void EndObject (size_t)
virtual void StartArray ()
virtual void EndArray ()
virtual void EndArray (size_t)
void SetState (ParserState &state)
std::string GetCurrentPath () const

Protected Member Functions

void SetResult (Map &&value)
void Throw (const std::string &found)

Protected Attributes

ParserStateparser_state_

Member Typedef Documentation

◆ ResultType

using formats::json::parser::TypedParser< Map >::ResultType
inherited

Definition at line 141 of file typed_parser.hpp.

◆ Value

template<typename Map, typename ValueParser>
using formats::json::parser::MapParser< Map, ValueParser >::Value = typename Map::mapped_type

Definition at line 17 of file map_parser.hpp.

Constructor & Destructor Documentation

◆ MapParser()

template<typename Map, typename ValueParser>
formats::json::parser::MapParser< Map, ValueParser >::MapParser ( ValueParser & value_parser)
inlineexplicit

Definition at line 19 of file map_parser.hpp.

Member Function Documentation

◆ EndArray()

virtual void formats::json::parser::BaseParser::EndArray ( size_t )
inlinevirtualinherited

Definition at line 40 of file base_parser.hpp.

◆ EndObject() [1/2]

template<typename Map, typename ValueParser>
void formats::json::parser::MapParser< Map, ValueParser >::EndObject ( )
inlineoverridevirtual

Reimplemented from formats::json::parser::BaseParser.

Definition at line 47 of file map_parser.hpp.

◆ EndObject() [2/2]

virtual void formats::json::parser::BaseParser::EndObject ( size_t )
inlinevirtualinherited

Definition at line 39 of file base_parser.hpp.

◆ Expected()

template<typename Map, typename ValueParser>
std::string formats::json::parser::MapParser< Map, ValueParser >::Expected ( ) const
inlineoverridevirtual

Implements formats::json::parser::BaseParser.

Definition at line 56 of file map_parser.hpp.

◆ GetCurrentPath()

std::string formats::json::parser::BaseParser::GetCurrentPath ( ) const
inlineinherited

Definition at line 46 of file base_parser.hpp.

◆ GetParser()

TypedParser< Map > & formats::json::parser::TypedParser< Map >::GetParser ( )
inlineinherited

Returns an actual parser. It is commonly used in PushParser() to identify typed parser of a proxy parser.

Definition at line 152 of file typed_parser.hpp.

◆ Key()

template<typename Map, typename ValueParser>
void formats::json::parser::MapParser< Map, ValueParser >::Key ( std::string_view key)
inlineoverridevirtual

Reimplemented from formats::json::parser::BaseParser.

Definition at line 36 of file map_parser.hpp.

◆ Reset()

template<typename Map, typename ValueParser>
void formats::json::parser::MapParser< Map, ValueParser >::Reset ( )
inlineoverridevirtual

Resets parser's internal state. It should not call Reset() of subparsers (if any). Subparsers' Reset() should be called just before pushing it onto the stack.

Reimplemented from formats::json::parser::TypedParser< Map >.

Definition at line 23 of file map_parser.hpp.

◆ SetResult()

void formats::json::parser::TypedParser< Map >::SetResult ( Map && value)
inlineprotectedinherited

Definition at line 155 of file typed_parser.hpp.

◆ SetState()

void formats::json::parser::BaseParser::SetState ( ParserState & state)
inlineinherited

Definition at line 42 of file base_parser.hpp.

◆ StartObject()

template<typename Map, typename ValueParser>
void formats::json::parser::MapParser< Map, ValueParser >::StartObject ( )
inlineoverridevirtual

Reimplemented from formats::json::parser::BaseParser.

Definition at line 25 of file map_parser.hpp.

◆ Subscribe()

void formats::json::parser::TypedParser< Map >::Subscribe ( Subscriber< Map > & subscriber)
inlineinherited

Definition at line 139 of file typed_parser.hpp.

Member Data Documentation

◆ parser_state_

ParserState* formats::json::parser::BaseParser::parser_state_
protectedinherited

Definition at line 54 of file base_parser.hpp.


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