Lines Matching refs:json
37 include!("example/include/json.h");
39 #[cxx_name = "json"]
71 // include/json.h
79 class json final {
81 static const json null;
84 using array = std::vector<json>;
85 using object = std::map<string, json>;
87 json() noexcept = default;
88 json(const json &) = default;
89 json(json &&) = default;
91 json(T &&...value) : value(std::forward<T>(value)...) {}
108 using object = json::object;
110 std::unique_ptr<json> load_config();
114 // include/json.cc
116 #include "example/include/json.h"
120 const json json::null{};
121 bool json::isNull() const { return std::holds_alternative<std::monostate>(value); }
122 bool json::isNumber() const { return std::holds_alternative<number>(value); }
123 bool json::isString() const { return std::holds_alternative<string>(value); }
124 bool json::isArray() const { return std::holds_alternative<array>(value); }
125 bool json::isObject() const { return std::holds_alternative<object>(value); }
126 json::number json::getNumber() const { return std::get<number>(value); }
127 const json::string &json::getString() const { return std::get<string>(value); }
128 const json::array &json::getArray() const { return std::get<array>(value); }
129 const json::object &json::getObject() const { return std::get<object>(value); }
131 std::unique_ptr<json> load_config() {
132 return std::make_unique<json>(
133 std::in_place_type<json::object>,
134 std::initializer_list<std::pair<const std::string, json>>{
137 {"repository", json::null}});