userver
C++ Async Framework
Loading...
Searching...
No Matches
number_parser.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/formats/json/parser/number_parser.hpp
4
/// @brief @copybrief formats::json::parser::NumberParser
5
/// @ingroup userver_universal
6
7
#
include
<
userver
/
formats
/
json
/
parser
/
typed_parser
.
hpp
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
namespace
formats::json::
parser
{
12
13
/// @brief SAX parsers for JSON floating-point numbers.
14
template
<
typename
Number>
15
class
NumberParser
final
:
public
formats::json::
parser
::
TypedParser
<Number> {
16
public
:
17
using
formats::json::
parser
::
TypedParser
<Number>::
TypedParser
;
18
19
protected
:
20
void
Int64(int64_t value)
override
{
this
->SetResult(value); }
21
22
void
Uint64(uint64_t value)
override
{
this
->SetResult(value); }
23
24
void
Double(
double
value)
override
{
this
->SetResult(std::move(value)); }
25
26
std::string Expected()
const
override
{
return
"number"
; }
27
28
std::string GetPathItem()
const
override
{
return
{}; }
29
};
30
31
using
DoubleParser = NumberParser<
double
>;
32
33
using
FloatParser = NumberParser<
float
>;
34
35
}
// namespace formats::json::parser
36
37
USERVER_NAMESPACE_END
userver
formats
json
parser
number_parser.hpp
Generated on Thu May 21 2026 16:22:22 for userver by
Doxygen
1.13.2