|
int | GetMaxDecimalPlaces () const |
|
bool | IsComplete () const |
| Checks whether the output is a complete JSON.
|
|
| PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
| Constructor.
|
|
| PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
|
void | Reset (OutputStream &os) |
| Reset the writer with a new stream.
|
|
PrettyWriter & | SetFormatOptions (PrettyFormatOptions options) |
| Set pretty writer formatting options.
|
|
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount) |
| Set custom indentation.
|
|
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
| Sets the maximum number of decimal places for double output.
|
|
|
|
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) |
|
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 memberCount=0) |
|
template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
class PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >
Writer with indentation and spacing.
- Template Parameters
-
OutputStream | Type of output os. |
SourceEncoding | Encoding of source string. |
TargetEncoding | Encoding of output stream. |
StackAllocator | Type of allocator for allocating memory of stack. |
Definition at line 48 of file prettywriter.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
void Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Flush |
( |
| ) |
|
|
inlineinherited |
Flush the output stream.
Allows the user to flush the output stream immediately.
Definition at line 282 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::IsComplete |
( |
| ) |
const |
|
inlineinherited |
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
Definition at line 144 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::RawValue |
( |
const Ch * |
json, |
|
|
size_t |
length, |
|
|
Type |
type |
|
) |
| |
|
inline |
Write a raw JSON value.
For user to write a stringified JSON as a value.
- Parameters
-
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. |
- Note
- When using PrettyWriter::RawValue(), the result json may not be indented correctly.
Definition at line 201 of file prettywriter.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
void Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Reset |
( |
OutputStream & |
os | ) |
|
|
inlineinherited |
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
-
os | New output stream.
writer.StartObject();
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
writer.EndObject();
|
Definition at line 134 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
PrettyWriter & PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetFormatOptions |
( |
PrettyFormatOptions |
options | ) |
|
|
inline |
Set pretty writer formatting options.
- Parameters
-
options | Formatting options. |
Definition at line 85 of file prettywriter.h.
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 | ) |
|
|
inlineinherited |
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.StartArray();
writer.Double(0.12345);
writer.Double(0.0001);
writer.Double(1.234567890123456e30);
writer.Double(1.23e-4);
writer.EndArray();
The default setting does not truncate any decimal places. You can restore to this setting by calling
writer.SetMaxDecimalPlaces(Writer::kDefaultMaxDecimalPlaces);
Definition at line 173 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::String |
( |
const Ch *const & |
str | ) |
|
|
inlineinherited |
Simpler but slower overload.
Definition at line 259 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::String |
( |
const Ch * |
str | ) |
|
|
inline |