1#ifndef XRPL_JSON_OBJECT_H_INCLUDED
2#define XRPL_JSON_OBJECT_H_INCLUDED
4#include <xrpl/json/Writer.h>
179 template <
typename Scalar>
235 template <
typename Scalar>
377template <
typename Scalar>
386template <
typename Scalar>
Represents a JSON array being written to a Writer.
Object appendObject()
Append a new Object and return it.
Array(Collection *parent, Writer *w)
Array appendArray()
Append a new Array and return it.
void append(Scalar const &)
Append a scalar to the Arrary.
void checkWritable(std::string const &label)
Collection & operator=(Collection &&c) noexcept
void operator=(T const &t)
Represents a JSON object being written to a Writer.
Proxy operator[](std::string const &key)
Object(Collection *parent, Writer *w)
void set(std::string const &key, Scalar const &)
Set a scalar value in the Object for a key.
Array setArray(std::string const &key)
Make a new Array at a key and return it.
Object setObject(std::string const &key)
Make a new Object at a key and return it.
Lightweight wrapper to tag static string.
Value & append(Value const &value)
Append value to array at the end.
An Object that contains its own Writer.
std::unique_ptr< Writer > writer_
WriterObject(WriterObject &&other)=default
WriterObject(Output const &output)
std::unique_ptr< Object::Root > object_
Writer implements an O(1)-space, O(1)-granular output JSON writer.
void append(Scalar t)
Append a value to an array.
void set(std::string const &tag, Type t)
Add a key, value assignment to an object.
JSON (JavaScript Object Notation).
Json::Value & appendArray(Json::Value &)
Append a new subarray to a Json array.
@ arrayValue
array value (ordered list)
@ objectValue
object value (collection of name/value pairs).
WriterObject stringWriterObject(std::string &)
Json::Value & setArray(Json::Value &, Json::StaticString const &key)
Add a new subarray at a named key in a Json object.
Json::Value & addObject(Json::Value &, Json::StaticString const &key)
Add a new subobject at a named key in a Json object.
Json::Value & appendObject(Json::Value &)
Append a new subobject to a Json object.
void copyFrom(Json::Value &to, Json::Value const &from)
Copy all the keys and values from one object into another.