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. More... | |
| Writer (StackAllocator *allocator=0, size_t levelDepth=kDefaultLevelDepth) | |
| void | Reset (OutputStream &os) |
| Reset the writer with a new stream. More... | |
| bool | IsComplete () const |
| Checks whether the output is a complete JSON. More... | |
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. More... | |
| 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) |
Convenience extensions | |
| bool | String (const Ch *str) |
| Simpler but slower overload. More... | |
| bool | Key (const Ch *str) |
Protected Member Functions | |
| 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 | WriteStartObject () |
| bool | WriteEndObject () |
| bool | WriteStartArray () |
| bool | WriteEndArray () |
| void | Prefix (Type type) |
| template<> | |
| bool | WriteInt (int i) |
| template<> | |
| bool | WriteUint (unsigned u) |
| template<> | |
| bool | WriteInt64 (int64_t i64) |
| template<> | |
| bool | WriteUint64 (uint64_t u) |
| template<> | |
| bool | WriteDouble (double d) |
Protected Attributes | |
| OutputStream * | os_ |
| internal::Stack< StackAllocator > | level_stack_ |
| bool | hasRoot_ |
Static Protected Attributes | |
| static const size_t | kDefaultLevelDepth = 32 |
Private Member Functions | |
| Writer (const Writer &) | |
| Writer & | operator= (const Writer &) |
JSON writer.
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. |
| typedef SourceEncoding::Ch rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >::Ch |
|
inline |
Constructor.
| os | Output stream. |
| allocator | User supplied allocator. If it is null, it will create a private one. |
| levelDepth | Initial capacity of stack. |
Definition at line 65 of file writer.h.
|
inline |
Definition at line 68 of file writer.h.
|
private |
|
inline |
|
inline |
|
inline |
Definition at line 153 of file writer.h.
|
inline |
Definition at line 136 of file writer.h.
|
inline |
|
inline |
|
inline |
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
Definition at line 99 of file writer.h.
|
inline |
Definition at line 134 of file writer.h.
|
inline |
Definition at line 170 of file writer.h.
|
inline |
|
private |
|
inlineprotected |
Definition at line 311 of file writer.h.
|
inline |
Reset the writer with a new stream.
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 89 of file writer.h.
|
inline |
Definition at line 147 of file writer.h.
|
inline |
Definition at line 128 of file writer.h.
|
inline |
Definition at line 122 of file writer.h.
|
inline |
Simpler but slower overload.
Definition at line 169 of file writer.h.
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Definition at line 238 of file writer.h.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
1.8.11