89template<
typename T, eValueType V>
class PrimitiveValue;
215 void append(std::shared_ptr<Value> value);
240 using Item = std::pair<std::string, std::shared_ptr<Value>>;
267 void append(std::string key, std::shared_ptr<Value> value);
270 void append_str(std::string key, std::string value);
271 std::shared_ptr<DictionaryValue>
append_dict(std::string key);
272 std::shared_ptr<ArrayValue>
append_array(std::string key);
306 std::unique_ptr<Value>
deserialize(std::istream &is)
override;
void append_int(int value)
void append_double(double value)
Span< std::shared_ptr< Value > > elements() const
std::shared_ptr< ArrayValue > append_array()
void append_str(std::string value)
void append_bool(bool value)
std::shared_ptr< DictionaryValue > append_dict()
const std::shared_ptr< Value > * lookup(const StringRef key) const
void append_str(std::string key, std::string value)
std::shared_ptr< DictionaryValue > append_dict(std::string key)
std::pair< std::string, std::shared_ptr< Value > > Item
const DictionaryValue * lookup_dict(const StringRef key) const
Span< Item > elements() const
void append_double(std::string key, double value)
void append_int(std::string key, int64_t value)
const ArrayValue * lookup_array(const StringRef key) const
Map< std::string, std::shared_ptr< Value > > Lookup
std::optional< int64_t > lookup_int(const StringRef key) const
std::shared_ptr< ArrayValue > append_array(std::string key)
std::optional< StringRefNull > lookup_str(const StringRef key) const
std::optional< double > lookup_double(const StringRef key) const
Lookup create_lookup() const
PrimitiveValue(const T value)
const std::string & value() const
StringValue(std::string string)
const EnumValue * as_enum_value() const
const BooleanValue * as_boolean_value() const
const ArrayValue * as_array_value() const
const StringValue * as_string_value() const
const IntValue * as_int_value() const
const DoubleValue * as_double_value() const
const DictionaryValue * as_dictionary_value() const
void write_json_file(StringRef path, const Value &value)
std::shared_ptr< Value > read_json_file(StringRef path)
CCL_NAMESPACE_BEGIN struct Window V