Writer with indentation and spacing.
More...
#include <fwd.h>
|
typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > | Base |
|
typedef Base::Ch | Ch |
|
|
| PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
| Constructor. More...
|
|
| PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) |
|
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount) |
| Set custom indentation. More...
|
|
PrettyWriter & | SetFormatOptions (PrettyFormatOptions options) |
| Set pretty writer formatting options. 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) |
|
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. |
◆ Base
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Base |
◆ Ch
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
◆ PrettyWriter() [1/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Constructor.
- Parameters
-
os | Output stream. |
allocator | User supplied allocator. If it is null, it will create a private one. |
levelDepth | Initial capacity of stack. |
◆ PrettyWriter() [2/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
◆ Bool()
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 |
◆ Double()
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 |
◆ EndArray()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::EndArray |
( |
SizeType |
memberCount = 0 | ) |
|
|
inline |
◆ EndObject()
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 |
◆ Int()
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 |
◆ Int64()
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 |
◆ Key() [1/2]
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 |
◆ Key() [2/2]
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 |
◆ Null()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Null |
( |
| ) |
|
|
inline |
◆ PrettyPrefix()
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 |
◆ RawNumber()
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 |
◆ RawValue()
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.
◆ SetFormatOptions()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Set pretty writer formatting options.
- Parameters
-
options | Formatting options. |
◆ SetIndent()
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.
◆ StartArray()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartArray |
( |
| ) |
|
|
inline |
◆ StartObject()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::StartObject |
( |
| ) |
|
|
inline |
◆ String() [1/2]
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.
◆ String() [2/2]
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 |
◆ Uint()
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 |
◆ Uint64()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Uint64 |
( |
uint64_t |
u64 | ) |
|
|
inline |
◆ WriteIndent()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
void PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::WriteIndent |
( |
| ) |
|
|
inlineprotected |
◆ formatOptions_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
◆ indentChar_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Ch PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::indentChar_ |
|
protected |
◆ indentCharCount_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
unsigned PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::indentCharCount_ |
|
protected |
The documentation for this class was generated from the following files: