rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator > Class Template Reference

Writer with indentation and spacing. More...

`#include <prettywriter.h>`

Inheritance diagram for rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >:

## Public Types

typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator > | Base
typedef Base::Ch | Ch
Public Types inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >
typedef SourceEncoding::Ch | Ch

## Public Member Functions

| PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
| Constructor. More...
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount)
| Set custom indentation. More...
Implementation of Handler

See also
  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 | 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)
Convenience extensions
bool | String (const Ch *str)
| Simpler but slower overload.
bool | Key (const Ch *str)
Public Member Functions inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >
| 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...
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 | 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.
bool | Key (const Ch *str)

## Protected Member Functions

void | PrettyPrefix (Type type)
void | WriteIndent ()
Protected Member Functions inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >
bool | WriteNull ()
bool | WriteBool (bool b)
bool | WriteInt (int i)
bool | WriteUint (unsigned u)
bool | WriteInt64 (int64_t i64)
bool | WriteUint64 (uint64_t u64)
bool | WriteDouble (double d)
bool | WriteString (const Ch *str, SizeType length)
bool | WriteStartObject ()
bool | WriteEndObject ()
bool | WriteStartArray ()
bool | WriteEndArray ()
void | Prefix (Type type)
template<>
bool | WriteInt (int i)
template<>
bool | WriteUint (unsigned u)
template<>
bool | WriteInt64 (int64_t i64)
template<>
bool | WriteUint64 (uint64_t u)
template<>
bool | WriteDouble (double d)

## Protected Attributes

Ch | indentChar_
unsigned | indentCharCount_
Protected Attributes inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >
OutputStream * | os_
internal::Stack< StackAllocator > | level_stack_
bool | hasRoot_

## Additional Inherited Members

Static Protected Attributes inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >
static const size_t | kDefaultLevelDepth = 32

## Detailed Description

### template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator>
class rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >

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.

## Constructor & Destructor Documentation

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator>

rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >::PrettyWriter | ( | OutputStream & | os,
|  | StackAllocator * | allocator = `0`,
|  | size_t | levelDepth = `Base::kDefaultLevelDepth`
| ) |  |

inline

Constructor.

Parameters

  os | Output stream.
  allocator | User supplied allocator. If it is null, it will create a private one.
  levelDepth | Initial capacity of stack.

## Member Function Documentation

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator>

PrettyWriter& rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator >::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.

The documentation for this class was generated from the following file:

- include/rapidjson/prettywriter.h