rapidjson
A fast JSON parser/generator for C++ with both SAX/DOM style API
 All Classes Functions Variables Typedefs Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
rapidjson::Writer< Stream, Encoding, Allocator > Class Template Reference

JSON writer. More...

#include <writer.h>

Inheritance diagram for rapidjson::Writer< Stream, Encoding, Allocator >:
rapidjson::Handler rapidjson::PrettyWriter< Stream, Encoding, Allocator >

Classes

struct  Level
 Information for each nested level. More...

Public Types

typedef Encoding::Ch Ch

Public Member Functions

 Writer (Stream &stream, Allocator *allocator=0, size_t levelDepth=kDefaultLevelDepth)
Writer & String (const Ch *str)
 Simpler but slower overload.
Writer & Null ()
Writer & Bool (bool b)
Writer & Int (int i)
Writer & Uint (unsigned u)
Writer & Int64 (int64_t i64)
Writer & Uint64 (uint64_t u64)
Writer & Double (double d)
Writer & String (const Ch *str, SizeType length, bool copy=false)
Writer & StartObject ()
Writer & EndObject (SizeType memberCount=0)
Writer & StartArray ()
Writer & EndArray (SizeType elementCount=0)

Protected Member Functions

void WriteNull ()
void WriteBool (bool b)
void WriteInt (int i)
void WriteUint (unsigned u)
void WriteInt64 (int64_t i64)
void WriteUint64 (uint64_t u64)
void WriteDouble (double d)
void WriteString (const Ch *str, SizeType length)
void WriteStartObject ()
void WriteEndObject ()
void WriteStartArray ()
void WriteEndArray ()
void Prefix (Type type)

Protected Attributes

Stream & stream_
internal::Stack< Allocator > level_stack_

Static Protected Attributes

static const size_t kDefaultLevelDepth = 32

Detailed Description

template<typename Stream, typename Encoding = UTF8<>, typename Allocator = MemoryPoolAllocator<>>
class rapidjson::Writer< Stream, Encoding, Allocator >

JSON writer.

Writer implements the concept Handler. It generates JSON text by events to an output stream.

User may programmatically calls the functions of a writer to generate JSON text.

On the other side, a writer can also be passed to objects that generates events,

for example Reader::Parse() and Document::Accept().

Template Parameters
StreamType of ouptut stream.
EncodingEncoding of both source strings and output.

Member Function Documentation

template<typename Stream , typename Encoding = UTF8<>, typename Allocator = MemoryPoolAllocator<>>
void rapidjson::Writer< Stream, Encoding, Allocator >::WriteDouble ( double  d)
inlineprotected
Todo:
Optimization with custom double-to-string converter.

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