-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathjson_value.hpp
More file actions
33 lines (23 loc) · 741 Bytes
/
json_value.hpp
File metadata and controls
33 lines (23 loc) · 741 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
#include <stdfwd/memory>
#include <stdfwd/string>
//------------------------------------------------------------------------------
namespace json
{
class JsonObject;
class JsonArray;
//------------------------------------------------------------------------------
class JsonValue
{
public:
using JsonObjectPtr = stdfwd::unique_ptr< JsonObject >;
using JsonArrayPtr = stdfwd::unique_ptr< JsonArray >;
virtual ~JsonValue() = default;
virtual std::string asString() const = 0;
virtual int asInt() const = 0;
virtual bool asBool() const = 0;
virtual JsonObjectPtr asObject() const = 0;
virtual JsonArrayPtr asArray() const = 0;
};
//------------------------------------------------------------------------------
}