5#include <userver/formats/json/parser/typed_parser.hpp>
11template <
typename T =
int>
15class IntegralParser<std::int32_t>
final :
public TypedParser<std::int32_t> {
17 using TypedParser<std::int32_t>::TypedParser;
20 void Int64(std::int64_t i) override;
22 void Uint64(std::uint64_t i) override;
24 void Double(
double value) override;
26 std::string GetPathItem()
const override {
return {}; }
28 std::string Expected()
const override {
return "integer"; }
32class IntegralParser<std::int64_t>
final :
public TypedParser<std::int64_t> {
34 using TypedParser<std::int64_t>::TypedParser;
37 void Int64(std::int64_t i) override;
39 void Uint64(std::uint64_t i) override;
41 void Double(
double value) override;
43 std::string GetPathItem()
const override {
return {}; }
45 std::string Expected()
const override {
return "integer"; }
48using IntParser = IntegralParser<std::int32_t>;
49using Int32Parser = IntegralParser<std::int32_t>;
50using Int64Parser = IntegralParser<std::int64_t>;