3#include <xrpl/json/json_forwards.h>
4#include <xrpl/json/json_value.h>
194template <
class Write>
201template <
class Write>
205 switch (value.type())
233 int const size = value.size();
234 for (
int index = 0; index < size; ++index)
247 for (
auto it = members.
begin(); it != members.
end(); ++it)
250 if (it != members.
begin())
271template <
class Write>
310 [&o](
void const* data,
std::size_t n) { o.
write(
static_cast<char const*
>(data), n); },
friend std::ostream & operator<<(std::ostream &o, Compact const &cJv)
Compact(json::Value &&jv)
Wrap a json::Value for compact streaming.
void writeValue(Value const &value)
std::string write(Value const &root) override
~FastWriter() override=default
void pushValue(std::string const &value)
void writeArrayValue(Value const &value)
~StyledStreamWriter()=default
void write(std::ostream &out, Value const &root)
Serialize a Value in JSON format.
void writeValue(Value const &value)
bool isMultilineArray(Value const &value)
StyledStreamWriter(std::string indentation="\t")
void writeWithIndent(std::string const &value)
std::vector< std::string > ChildValues
std::string indentString_
void pushValue(std::string const &value)
bool isMultilineArray(Value const &value)
std::string write(Value const &root) override
Serialize a Value in JSON format.
std::string indentString_
void writeValue(Value const &value)
void writeWithIndent(std::string const &value)
std::vector< std::string > ChildValues
void writeArrayValue(Value const &value)
~StyledWriter() override=default
std::vector< std::string > Members
Abstract class for writers.
virtual std::string write(Value const &root)=0
virtual ~WriterBase()=default
void writeString(Write const &write, std::string const &s)
void writeValue(Write const &write, Value const &value)
JSON (JavaScript Object Notation).
std::string valueToQuotedString(char const *value)
void stream(json::Value const &jv, Write const &write)
Stream compact JSON to the specified function.
@ UInt
unsigned integer value
@ Int
signed integer value
@ String
UTF-8 string value.
@ Array
array value (ordered list)
@ Object
object value (collection of name/value pairs).
std::ostream & operator<<(std::ostream &, Value const &root)
Output using the StyledStreamWriter.
std::string valueToString(Int value)