|
| | 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...
|
| |
| int | GetMaxDecimalPlaces () const |
| |
| void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
| | Sets the maximum number of decimal places for double output. More...
|
| |
| bool | RawValue (const Ch *json, size_t length, Type type) |
| | Write a raw JSON value. More...
|
| |
|
|
| 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 | 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) |
| |
|
| bool | String (const Ch *str) |
| | Simpler but slower overload. More...
|
| |
| bool | Key (const Ch *str) |
| |
template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
class Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >
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().
- Template Parameters
-
| OutputStream | Type of output stream. |
| SourceEncoding | Encoding of source string. |
| TargetEncoding | Encoding of output stream. |
| StackAllocator | Type of allocator for allocating memory of stack. |
- Note
- implements Handler concept
template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
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.
- Parameters
-
template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| void Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetMaxDecimalPlaces |
( |
int |
maxDecimalPlaces | ) |
|
|
inline |
Sets the maximum number of decimal places for double output.
This setting truncates the output with specified number of decimal places.
For example,
writer.SetMaxDecimalPlaces(3);
writer.Double(1.234567890123456e30);
The default setting does not truncate any decimal places. You can restore to this setting by calling