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: