Wire Sysio Wire Sysion 1.0.0
|
JSON writer. More...
#include <writer.h>
Classes | |
struct | Level |
Information for each nested level. More... | |
Public Types | |
typedef SourceEncoding::Ch | Ch |
Public Member Functions | |
Writer (OutputStream &os, StackAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth) | |
Constructor. | |
Writer (StackAllocator *allocator=0, size_t levelDepth=kDefaultLevelDepth) | |
void | Reset (OutputStream &os) |
Reset the writer with a new stream. | |
bool | IsComplete () const |
Checks whether the output is a complete JSON. | |
int | GetMaxDecimalPlaces () const |
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
Sets the maximum number of decimal places for double output. | |
Implementation of Handler | |
| |
bool | Null () |
bool | Bool (bool b) |
bool | Int (int i) |
bool | Uint (unsigned u) |
bool | Int64 (int64_t i64) |
bool | Uint64 (uint64_t u64) |
bool | Double (double d) |
Writes the given double value to the stream. | |
bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
bool | String (const Ch *str, SizeType length, bool copy=false) |
bool | StartObject () |
bool | Key (const Ch *str, SizeType length, bool copy=false) |
bool | EndObject (SizeType memberCount=0) |
bool | StartArray () |
bool | EndArray (SizeType elementCount=0) |
Static Public Attributes | |
static const int | kDefaultMaxDecimalPlaces = 324 |
Protected Member Functions | |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u) |
bool | WriteDouble (double d) |
Convenience extensions | |
static const size_t | kDefaultLevelDepth = 32 |
OutputStream * | os_ |
internal::Stack< StackAllocator > | level_stack_ |
int | maxDecimalPlaces_ |
bool | hasRoot_ |
bool | String (const Ch *const &str) |
Simpler but slower overload. | |
bool | Key (const Ch *const &str) |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. | |
void | Flush () |
Flush the output stream. | |
bool | WriteNull () |
bool | WriteBool (bool b) |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u64) |
bool | WriteDouble (double d) |
bool | WriteString (const Ch *str, SizeType length) |
bool | ScanWriteUnescapedString (GenericStringStream< SourceEncoding > &is, size_t length) |
bool | WriteStartObject () |
bool | WriteEndObject () |
bool | WriteStartArray () |
bool | WriteEndArray () |
bool | WriteRawValue (const Ch *json, size_t length) |
void | Prefix (Type type) |
bool | EndValue (bool ret) |
Writer implements the concept Handler. It generates JSON text by events to an output os.
User may programmatically calls the functions of a writer to generate JSON text.
On the other side, a writer can also be passed to objects that generates events,
for example Reader::Parse() and Document::Accept().
OutputStream | Type of output stream. |
SourceEncoding | Encoding of source string. |
TargetEncoding | Encoding of output stream. |
StackAllocator | Type of allocator for allocating memory of stack. |
SourceEncoding::Ch Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Ch |
|
inlineexplicit |
os | Output stream. |
stackAllocator | User supplied allocator. If it is null, it will create a private one. |
levelDepth | Initial capacity of stack. |
Definition at line 101 of file writer.h.
|
inlineexplicit |
Definition at line 105 of file writer.h.
|
inline |
|
inline |
|
inline |
Definition at line 245 of file writer.h.
|
inline |
Definition at line 230 of file writer.h.
|
inlineprotected |
Definition at line 493 of file writer.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 259 of file writer.h.
|
inline |
|
inline |
|
inlineprotected |
Definition at line 472 of file writer.h.
|
inline |
Definition at line 195 of file writer.h.
|
inline |
For user to write a stringified JSON as a value.
json | A well-formed JSON value. It should not contain null character within [0, length - 1] range. |
length | Length of the json. |
type | Type of the root of json. |
Definition at line 271 of file writer.h.
|
inline |
This function reset the writer with a new stream and default settings, in order to make a Writer object reusable for output multiple JSONs.
os | New output stream. Writer<OutputStream> writer(os1);
writer.StartObject();
// ...
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
// ...
writer.EndObject();
|
Definition at line 133 of file writer.h.
|
inlineprotected |
|
inline |
This setting truncates the output with specified number of decimal places.
For example,
The default setting does not truncate any decimal places. You can restore to this setting by calling
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 202 of file writer.h.
|
inline |
|
inline |
|
inlineprotected |
Definition at line 300 of file writer.h.
|
inlineprotected |
Definition at line 348 of file writer.h.
|
inlineprotected |
Definition at line 545 of file writer.h.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Definition at line 459 of file writer.h.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Definition at line 376 of file writer.h.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
staticprotected |
|
static |
|
protected |
|
protected |
|
protected |