userver: formats::json::parser::MapParser< Map, ValueParser > Class Template Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
formats::json::parser::MapParser< Map, ValueParser > Class Template Referencefinal

Detailed Description

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

Definition at line 10 of file map_parser.hpp.

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

Public Types

using Value = typename Map::mapped_type
 
- Public Types inherited from formats::json::parser::TypedParser< Map >
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
 
- Public Member Functions inherited from formats::json::parser::TypedParser< Map >
void Subscribe (Subscriber< Map > &subscriber)
 
TypedParser< Map > & GetParser ()
 
- Public Member Functions inherited from formats::json::parser::BaseParser
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 StartArray ()
 
virtual void EndArray ()
 
virtual void EndObject (size_t)
 
virtual void EndArray (size_t)
 
void SetState (ParserState &state)
 

Additional Inherited Members

- Protected Member Functions inherited from formats::json::parser::TypedParser< Map >
void SetResult (Map &&value)
 
- Protected Member Functions inherited from formats::json::parser::BaseParser
void Throw (const std::string &found)
 
- Protected Attributes inherited from formats::json::parser::BaseParser
ParserStateparser_state_ {nullptr}
 

Member Typedef Documentation

◆ Value

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

Definition at line 13 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 15 of file map_parser.hpp.

Member Function Documentation

◆ EndObject()

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

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

Definition at line 39 of file map_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 48 of file map_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 30 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 17 of file map_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 19 of file map_parser.hpp.


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