All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, Allocator > Class Template Reference

Writer with indentation and spacing. More...

#include <prettywriter.h>

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

Public Types

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

Public Member Functions

 PrettyWriter (OutputStream &os, Allocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
 Constructor. More...
 
PrettyWriterSetDoublePrecision (int p)
 Overridden for fluent API, see Writer::SetDoublePrecision()
 
PrettyWriterSetIndent (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 EndObject (SizeType memberCount=0)
 
bool StartArray ()
 
bool EndArray (SizeType memberCount=0)
 
Convenience extensions
bool String (const Ch *str)
 Simpler but slower overload.
 
bool Double (double d, int precision)
 Overridden for fluent API, see Writer::Double()
 
- Public Member Functions inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, Allocator >
 Writer (OutputStream &os, Allocator *allocator=0, size_t levelDepth=kDefaultLevelDepth)
 Constructor. More...
 
 Writer (Allocator *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...
 
WriterSetDoublePrecision (int p=kDefaultDoublePrecision)
 Set the number of significant digits for double values. More...
 
int GetDoublePrecision () const
 
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 EndObject (SizeType memberCount=0)
 
bool StartArray ()
 
bool EndArray (SizeType elementCount=0)
 
bool Double (double d, int precision)
 Writes the given double value to the stream (explicit precision) More...
 
bool String (const Ch *str)
 Simpler but slower overload.
 

Protected Member Functions

void PrettyPrefix (Type type)
 
void WriteIndent ()
 
- Protected Member Functions inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, Allocator >
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)
 

Protected Attributes

Ch indentChar_
 
unsigned indentCharCount_
 
- Protected Attributes inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, Allocator >
OutputStream * os_
 
internal::Stack< Allocatorlevel_stack_
 
int doublePrecision_
 
bool hasRoot_
 

Additional Inherited Members

- Static Protected Attributes inherited from rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, Allocator >
static const size_t kDefaultLevelDepth = 32
 
static const int kDefaultDoublePrecision = 6
 

Detailed Description

template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename Allocator = MemoryPoolAllocator<>>
class rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, Allocator >

Writer with indentation and spacing.

Template Parameters
OutputStreamType of ouptut os.
SourceEncodingEncoding of source string.
TargetEncodingEncoding of output stream.
AllocatorType of allocator for allocating memory of stack.

Constructor & Destructor Documentation

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename Allocator = MemoryPoolAllocator<>>
rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, Allocator >::PrettyWriter ( OutputStream &  os,
Allocator allocator = 0,
size_t  levelDepth = Base::kDefaultLevelDepth 
)
inline

Constructor.

Parameters
osOutput stream.
allocatorUser supplied allocator. If it is null, it will create a private one.
levelDepthInitial capacity of stack.

Member Function Documentation

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename Allocator = MemoryPoolAllocator<>>
PrettyWriter& rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, Allocator >::SetIndent ( Ch  indentChar,
unsigned  indentCharCount 
)
inline

Set custom indentation.

Parameters
indentCharCharacter for indentation. Must be whitespace character (' ', '\t', '\n', '\r').
indentCharCountNumber 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: