userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
parser_json.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/formats/json/parser/parser_json.hpp
4
/// @brief @copybrief formats::json::parser::JsonValueParser
5
/// @ingroup userver_universal
6
7
#
include
<
userver
/
formats
/
json
/
parser
/
typed_parser
.
hpp
>
8
#
include
<
userver
/
formats
/
json
/
value
.
hpp
>
9
#
include
<
userver
/
utils
/
fast_pimpl
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
formats::
json
::
parser
{
14
15
/// SAX-parser for formats::json::Value
16
class
JsonValueParser
final
:
public
TypedParser
<
Value
> {
17
public
:
18
JsonValueParser();
19
~JsonValueParser()
override
;
20
21
JsonValueParser(
const
JsonValueParser&) =
delete
;
22
JsonValueParser(JsonValueParser&&) =
delete
;
23
24
void
Null()
override
;
25
void
Bool(
bool
)
override
;
26
void
Int64(int64_t)
override
;
27
void
Uint64(uint64_t)
override
;
28
void
Double(
double
)
override
;
29
void
String(std::string_view)
override
;
30
void
StartObject()
override
;
31
void
Key(std::string_view key)
override
;
32
void
EndObject(size_t)
override
;
33
void
StartArray()
override
;
34
void
EndArray(size_t)
override
;
35
36
std::string Expected()
const
override
;
37
38
private
:
39
void
MaybePopSelf();
40
41
std::string GetPathItem()
const
override
{
return
{}; }
42
43
struct
Impl;
44
utils
::FastPimpl<Impl, 127, 8> impl_;
45
};
46
47
}
// namespace formats::json::parser
48
49
USERVER_NAMESPACE_END
userver
formats
json
parser
parser_json.hpp
Generated on
for userver by
Doxygen
1.17.0