userver: userver/formats/json/parser/dummy_parser.hpp Source File
Loading...
Searching...
No Matches
dummy_parser.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/formats/json/parser/dummy_parser.hpp
4/// @brief @copybrief formats::json::parser::DummyParser
5/// @ingroup userver_universal
6
7#include <userver/formats/json/parser/base_parser.hpp>
8
9USERVER_NAMESPACE_BEGIN
10
11namespace formats::json::parser {
12
13/// @brief No-op SAX parser for tests and plumbing.
14class DummyParser final : public BaseParser {
15public:
16 DummyParser();
17 ~DummyParser() override;
18
19 void Null() override;
20 void Bool(bool) override;
21 void Int64(int64_t) override;
22 void Uint64(uint64_t) override;
23 void Double(double) override;
24 void String(std::string_view) override;
25 void StartObject() override;
26 void Key(std::string_view key) override;
27 void EndObject() override;
28 void StartArray() override;
29 void EndArray() override;
30
31 std::string Expected() const override;
32
33 void Reset();
34
35 DummyParser& GetParser();
36
37private:
38 void MaybePopSelf();
39
40 std::string GetPathItem() const override { return {}; }
41
42 size_t level_{0};
43};
44
45} // namespace formats::json::parser
46
47USERVER_NAMESPACE_END