18 virtual ~BaseParser();
20 BaseParser() =
default;
27 virtual void Bool(
bool);
28 virtual void Int64(int64_t);
29 virtual void Uint64(uint64_t);
30 virtual void Double(
double);
31 virtual void String(std::string_view);
32 virtual void StartObject();
33 virtual void Key(std::string_view key);
34 virtual void EndObject();
35 virtual void StartArray();
36 virtual void EndArray();
39 virtual void EndObject(size_t ) { EndObject(); }
40 virtual void EndArray(size_t ) { EndArray(); }
42 void SetState(ParserState& state) { parser_state_ = &state; }
44 virtual std::string GetPathItem()
const = 0;
46 std::string GetCurrentPath()
const {
return parser_state_->GetCurrentPath(); }
49 [[
noreturn]]
void Throw(
const std::string& found);
51 virtual std::string Expected()
const = 0;
54 ParserState* parser_state_{
nullptr};