Public Member Functions |
| | PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
| | Constructor.
|
| | PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
| PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount) |
| | Set custom indentation.
|
| PrettyWriter & | SetFormatOptions (PrettyFormatOptions options) |
| | Set pretty writer formatting options.
|
| bool | RawValue (const Ch *json, size_t length, Type type) |
| | Write a raw JSON value.
|
|
|
| bool | Null () |
| | Writes the given double value to the stream.
|
| bool | Bool (bool b) |
| | Writes the given double value to the stream.
|
| bool | Int (int i) |
| | Writes the given double value to the stream.
|
| bool | Uint (unsigned u) |
| | Writes the given double value to the stream.
|
| bool | Int64 (int64_t i64) |
| | Writes the given double value to the stream.
|
| bool | Uint64 (uint64_t u64) |
| | Writes the given double value to the stream.
|
| bool | Double (double d) |
| | Writes the given double value to the stream.
|
| bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
| | Writes the given double value to the stream.
|
| bool | String (const Ch *str, SizeType length, bool copy=false) |
| | Writes the given double value to the stream.
|
| bool | StartObject () |
| | Writes the given double value to the stream.
|
| bool | Key (const Ch *str, SizeType length, bool copy=false) |
| | Writes the given double value to the stream.
|
| bool | EndObject (SizeType memberCount=0) |
| | Writes the given double value to the stream.
|
| bool | StartArray () |
| | Writes the given double value to the stream.
|
| bool | EndArray (SizeType memberCount=0) |
| | Writes the given double value to the stream.
|
|
| bool | String (const Ch *str) |
| | Simpler but slower overload.
|
| bool | Key (const Ch *str) |
| | Simpler but slower overload.
|
| | 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.
|
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 ouptut os. |
| SourceEncoding | Encoding of source string. |
| TargetEncoding | Encoding of output stream. |
| StackAllocator | Type of allocator for allocating memory of stack. |
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| PrettyWriter& PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetIndent |
( |
Ch |
indentChar, |
|
|
unsigned |
indentCharCount |
|
) |
| |
|
inline |
Set custom indentation.
- Parameters
-
| indentChar | Character for indentation. Must be whitespace character (' ', '\t', '\n', '\r'). |
| indentCharCount | Number of indent characters for each indentation level. |
- Note
- The default indentation is 4 spaces.
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::indentChar_, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::indentCharCount_, and RAPIDJSON_ASSERT.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Null |
( |
| ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNullType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteNull().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Bool |
( |
bool |
b | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kFalseType, kTrueType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteBool().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Int |
( |
int |
i | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteInt().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Uint |
( |
unsigned |
u | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteUint().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Int64 |
( |
int64_t |
i64 | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteInt64().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteUint64().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Double |
( |
double |
d | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteDouble().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::RawNumber |
( |
const Ch * |
str, |
|
|
SizeType |
length, |
|
|
bool |
copy = false |
|
) |
| |
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kNumberType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), void(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteString().
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, |
|
|
SizeType |
length, |
|
|
bool |
copy = false |
|
) |
| |
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kStringType, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), void(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteString().
Referenced by PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Key().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartObject |
( |
| ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kObjectType, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::level_stack_, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteStartObject().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Key |
( |
const Ch * |
str, |
|
|
SizeType |
length, |
|
|
bool |
copy = false |
|
) |
| |
|
inline |
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::EndObject |
( |
SizeType |
memberCount = 0 | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::level_stack_, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::os_, RAPIDJSON_ASSERT, void(), Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteEndObject(), and PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteIndent().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartArray |
( |
| ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References kArrayType, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::level_stack_, PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteStartArray().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::EndArray |
( |
SizeType |
elementCount = 0 | ) |
|
|
inline |
Writes the given double value to the stream.
- Parameters
-
| d | The value to be written. |
- Returns
- Whether it is succeed.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::formatOptions_, kFormatSingleLineArray, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::level_stack_, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::os_, RAPIDJSON_ASSERT, void(), Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteEndArray(), and PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteIndent().
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 |
Simpler but slower overload.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::String(), and internal::StrLen().
Referenced by PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::String().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Key |
( |
const Ch * |
str | ) |
|
|
inline |
Simpler but slower overload.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Key(), and internal::StrLen().
Referenced by PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Key().
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.
Reimplemented from Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >.
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix(), and Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteRawValue().
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
| void PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyPrefix |
( |
Type |
type | ) |
|
|
inlineprotected |
References PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::formatOptions_, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::hasRoot_, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Level::inArray, kFormatSingleLineArray, kStringType, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::level_stack_, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::os_, RAPIDJSON_ASSERT, Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Level::valueCount, void(), and PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteIndent().
Referenced by PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Bool(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Double(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Int(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Int64(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Null(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::RawNumber(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::RawValue(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartArray(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartObject(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::String(), PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Uint(), and PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Uint64().