4#include <initializer_list>
17 virtual std::shared_ptr<IJsonImpl>
clone()
const = 0;
20 virtual std::string
dump(
int indent = -1)
const = 0;
23 virtual json at(
const std::string& key)
const = 0;
29 virtual size_t size()
const = 0;
38 template<
typename T> T
get()
const;
39 template<
typename T>
void get_to(T&)
const;
42 virtual bool contains(
const std::string& key)
const = 0;
virtual bool is_number() const =0
virtual ~IJsonImpl()=default
virtual bool contains(const std::string &key) const =0
virtual bool is_null() const =0
virtual json & refAt(const std::string &key)=0
virtual bool empty() const =0
virtual std::string dump(int indent=-1) const =0
virtual std::shared_ptr< IJsonImpl > clone() const =0
virtual bool is_boolean() const =0
virtual bool is_array() const =0
virtual json at(const std::string &key) const =0
virtual size_t size() const =0
virtual bool is_string() const =0
virtual bool is_object() const =0