PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > Class Template Reference#
PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > Class Template Reference
Writer with indentation and spacing. More...
#include <prettywriter.h>
Inheritance diagram for PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >:
Public Types | |
| typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > | Base |
| typedef Base::Ch | Ch |
Public Types inherited from Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags > | |
| typedef SourceEncoding::Ch | Ch |
Public Member Functions | |
| 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... | |
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) |
| 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) |
Public Member Functions inherited from Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags > | |
| Writer (OutputStream &os, CrtAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth) | |
| Constructor. More... | |
| Writer (CrtAllocator *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 | Null () |
Writes the given double value to the stream. More... | |
| bool | Bool (bool b) |
Writes the given double value to the stream. More... | |
| bool | Int (int i) |
Writes the given double value to the stream. More... | |
| bool | Uint (unsigned u) |
Writes the given double value to the stream. More... | |
| bool | Int64 (int64_t i64) |
Writes the given double value to the stream. More... | |
| bool | Uint64 (uint64_t u64) |
Writes the given double value to the stream. More... | |
| bool | Double (double d) |
Writes the given double value to the stream. More... | |
| bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
Writes the given double value to the stream. More... | |
| bool | String (const Ch *str, SizeType length, bool copy=false) |
Writes the given double value to the stream. More... | |
| bool | StartObject () |
Writes the given double value to the stream. More... | |
| bool | Key (const Ch *str, SizeType length, bool copy=false) |
Writes the given double value to the stream. More... | |
| bool | EndObject (SizeType memberCount=0) |
Writes the given double value to the stream. More... | |
| bool | StartArray () |
Writes the given double value to the stream. More... | |
| bool | EndArray (SizeType elementCount=0) |
Writes the given double value to the stream. More... | |
| bool | String (const Ch *const &str) |
| Simpler but slower overload. More... | |
| bool | Key (const Ch *const &str) |
| Simpler but slower overload. More... | |
| bool | RawValue (const Ch *json, size_t length, Type type) |
| Write a raw JSON value. More... | |
| void | Flush () |
| Flush the output stream. More... | |
Convenience extensions | |
| Ch | indentChar_ |
| Simpler but slower overload. More... | |
| unsigned | indentCharCount_ |
| Simpler but slower overload. More... | |
| PrettyFormatOptions | formatOptions_ |
| Simpler but slower overload. More... | |
| bool | String (const Ch *str) |
| Simpler but slower overload. More... | |
| bool | Key (const Ch *str) |
| Simpler but slower overload. More... | |
| bool | RawValue (const Ch *json, size_t length, Type type) |
| Write a raw JSON value. More... | |
| void | PrettyPrefix (Type type) |
| Simpler but slower overload. More... | |
| void | WriteIndent () |
| Simpler but slower overload. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags > | |
| static const int | kDefaultMaxDecimalPlaces |
| static const size_t | kDefaultLevelDepth |
| Simpler but slower overload. More... | |
Protected Member Functions inherited from Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags > | |
| bool | WriteInt (int i) |
| bool | WriteUint (unsigned u) |
| bool | WriteInt64 (int64_t i64) |
| bool | WriteUint64 (uint64_t u) |
| bool | WriteDouble (double d) |
| bool | WriteNull () |
| Simpler but slower overload. More... | |
| bool | WriteBool (bool b) |
| Simpler but slower overload. More... | |
| bool | WriteInt (int i) |
| Simpler but slower overload. More... | |
| bool | WriteUint (unsigned u) |
| Simpler but slower overload. More... | |
| bool | WriteInt64 (int64_t i64) |
| Simpler but slower overload. More... | |
| bool | WriteUint64 (uint64_t u64) |
| Simpler but slower overload. More... | |
| bool | WriteDouble (double d) |
| Simpler but slower overload. More... | |
| bool | WriteString (const Ch *str, SizeType length) |
| Simpler but slower overload. More... | |
| bool | ScanWriteUnescapedString (GenericStringStream< UTF8<> > &is, size_t length) |
| Simpler but slower overload. More... | |
| bool | WriteStartObject () |
| Simpler but slower overload. More... | |
| bool | WriteEndObject () |
| Simpler but slower overload. More... | |
| bool | WriteStartArray () |
| Simpler but slower overload. More... | |
| bool | WriteEndArray () |
| Simpler but slower overload. More... | |
| bool | WriteRawValue (const Ch *json, size_t length) |
| Simpler but slower overload. More... | |
| void | Prefix (Type type) |
| Simpler but slower overload. More... | |
| bool | EndValue (bool ret) |
| Simpler but slower overload. More... | |
Protected Attributes inherited from Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags > | |
| OutputStream * | os_ |
| Simpler but slower overload. More... | |
| internal::Stack< CrtAllocator > | level_stack_ |
| Simpler but slower overload. More... | |
| int | maxDecimalPlaces_ |
| Simpler but slower overload. More... | |
| bool | hasRoot_ |
| Simpler but slower overload. More... | |
Detailed Description
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.
Member Typedef Documentation
◆ 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>
| typedef Base::Ch PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Ch |
Constructor & Destructor Documentation
◆ PrettyWriter() [1/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inlineexplicit |
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>
|
inlineexplicit |
Member Function Documentation
◆ Bool()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Double()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ EndArray()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ EndObject()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Int()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Int64()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Key() [1/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
Simpler but slower overload.
◆ Key() [2/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Null()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ PrettyPrefix()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inlineprotected |
Simpler but slower overload.
◆ RawNumber()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ RawValue()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
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>
|
inline |
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>
|
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>
|
inline |
◆ StartObject()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ String() [1/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
Simpler but slower overload.
◆ String() [2/2]
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Uint()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ Uint64()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inline |
◆ WriteIndent()
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
inlineprotected |
Simpler but slower overload.
Member Data Documentation
◆ formatOptions_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
protected |
Simpler but slower overload.
◆ indentChar_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
protected |
Simpler but slower overload.
◆ indentCharCount_
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
|
protected |
Simpler but slower overload.
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/fwd.h
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/prettywriter.h
Public Types inherited from