userver: formats::json::parser Namespace Reference
Loading...
Searching...
No Matches
formats::json::parser Namespace Reference

Detailed Description

Streaming JSON SAX parsers and parser stack.

SAX parser tools.

Classes

class  ArrayParser
 SAX parser that fills arrays or sets from JSON arrays. More...
 
class  BaseError
 
class  BaseParser
 Base class for SAX parser. More...
 
class  BaseValidator
 
class  BoolParser
 SAX parser for JSON boolean values. More...
 
class  DummyParser
 No-op SAX parser for tests and plumbing. More...
 
class  EmptyValidator
 
class  IntegralParser
 
class  IntegralParser< std::int32_t >
 
class  IntegralParser< std::int64_t >
 
class  InternalParseError
 
class  JsonValueParser
 SAX-parser for formats::json::Value. More...
 
class  MapParser
 SAX parser that fills maps from JSON objects. More...
 
class  NumberParser
 SAX parsers for JSON floating-point numbers. More...
 
class  ParseError
 
class  ParserHandler
 Dispatches JSON SAX events to a parser stack. More...
 
class  ParserState
 Parser stack and streaming driver for JSON SAX parsing. More...
 
class  StringParser
 SAX parser for JSON string values. More...
 
class  Subscriber
 
class  SubscriberSink
 
class  SubscriberSinkOptional
 
class  TypedParser
 Main base class for SAX parsers. More...
 
class  Validator
 

Typedefs

using IntParser = IntegralParser<std::int32_t>
 
using Int32Parser = IntegralParser<std::int32_t>
 
using Int64Parser = IntegralParser<std::int64_t>
 
using DoubleParser = NumberParser<double>
 
using FloatParser = NumberParser<float>
 

Functions

template<typename T, typename Parser>
ParseToType (std::string_view input)
 
template<typename T, typename F>
auto MakeValidator (F f)
 

Variables

template<typename T>
constexpr EmptyValidator< T > kEmptyValidator
 

Typedef Documentation

◆ DoubleParser

Definition at line 31 of file number_parser.hpp.

◆ FloatParser

Definition at line 33 of file number_parser.hpp.

◆ Int32Parser

using formats::json::parser::Int32Parser = IntegralParser<std::int32_t>

Definition at line 51 of file int_parser.hpp.

◆ Int64Parser

using formats::json::parser::Int64Parser = IntegralParser<std::int64_t>

Definition at line 52 of file int_parser.hpp.

◆ IntParser

using formats::json::parser::IntParser = IntegralParser<std::int32_t>

Definition at line 50 of file int_parser.hpp.

Function Documentation

◆ MakeValidator()

template<typename T, typename F>
auto formats::json::parser::MakeValidator ( F f)

Definition at line 39 of file validator.hpp.

◆ ParseToType()

template<typename T, typename Parser>
T formats::json::parser::ParseToType ( std::string_view input)

Definition at line 187 of file typed_parser.hpp.

Variable Documentation

◆ kEmptyValidator

template<typename T>
EmptyValidator<T> formats::json::parser::kEmptyValidator
inlineconstexpr

Definition at line 44 of file validator.hpp.