3#include <userver/formats/json/parser/typed_parser.hpp>
7namespace formats::json::parser {
9template <
typename Number>
10class NumberParser
final :
public formats::json::parser::
TypedParser<Number> {
15 void Int64(int64_t value)
override {
this->SetResult(value); }
17 void Uint64(uint64_t value)
override {
this->SetResult(value); }
19 void Double(
double value)
override {
this->SetResult(std::move(value)); }
21 std::string Expected()
const override {
return "number"; }
23 std::string GetPathItem()
const override {
return {}; }
26using DoubleParser = NumberParser<
double>;
28using FloatParser = NumberParser<
float>;