rapidjson A fast JSON parser/generator for C++ with both SAX/DOM style API

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Functions Variables Typedefs Pages
Public Types | Public Member Functions | Friends | List of all members
rapidjson::GenericDocument< Encoding, Allocator > Class Template Reference

A document for parsing JSON text as DOM. More...

`#include <document.h>`

Inheritance diagram for rapidjson::GenericDocument< Encoding, Allocator >:

## Public Types
typedef Encoding::Ch | Ch
| Character type derived from Encoding.
typedef GenericValue< Encoding, Allocator > | ValueType
| Value type of the document.
typedef Allocator | AllocatorType
| Allocator type from template parameter.
Public Types inherited from rapidjson::GenericValue< Encoding, Allocator >
typedef Encoding | EncodingType
| Encoding type from template parameter.
typedef Allocator | AllocatorType
| Allocator type from template parameter.
typedef Encoding::Ch | Ch
| Character type derived from Encoding.
typedef Member * | MemberIterator
| Member iterator for iterating in object.
typedef const Member * | ConstMemberIterator
| Constant member iterator for iterating in object.
typedef GenericValue * | ValueIterator
| Value iterator for iterating in array.
typedef const GenericValue * | ConstValueIterator
| Constant value iterator for iterating in array.

## Public Member Functions
| GenericDocument (Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity)
| Constructor.
template<unsigned parseFlags, typename Stream >
GenericDocument & | ParseStream (Stream &stream)
| Parse JSON text from an input stream.
template<unsigned parseFlags>
GenericDocument & | ParseInsitu (Ch *str)
| Parse JSON text from a mutable string.
template<unsigned parseFlags>
GenericDocument & | Parse (const Ch *str)
| Parse JSON text from a read-only string.
bool | HasParseError () const
| Whether a parse error was occured in the last parsing.
const char * | GetParseError () const
| Get the message of parsing error.
size_t | GetErrorOffset () const
| Get the offset in character of the parsing error.
Allocator & | GetAllocator ()
| Get the allocator of this document.
size_t | GetStackCapacity () const
| Get the capacity of stack in bytes.
Public Member Functions inherited from rapidjson::GenericValue< Encoding, Allocator >
template<typename Handler >
const GenericValue & | Accept (Handler &handler) const
| Generate events of this value to a Handler.
GenericValue & | operator= (GenericValue &rhs)
| Assignment with move semantics.
template<typename T >
GenericValue & | operator= (T value)
| Assignment with primitive types.
Type | GetType () const
bool | IsNull () const
bool | IsFalse () const
bool | IsTrue () const
bool | IsBool () const
bool | IsObject () const
bool | IsArray () const
bool | IsNumber () const
bool | IsInt () const
bool | IsUint () const
bool | IsInt64 () const
bool | IsUint64 () const
bool | IsDouble () const
bool | IsString () const
GenericValue & | SetNull ()
bool | GetBool () const
GenericValue & | SetBool (bool b)
GenericValue & | SetObject ()
| Set this value as an empty object.
GenericValue & | operator[] (const Ch *name)
| Get the value associated with the object's name.
const GenericValue & | operator[] (const Ch *name) const
ConstMemberIterator | MemberBegin () const
| Member iterators.
ConstMemberIterator | MemberEnd () const
MemberIterator | MemberBegin ()
MemberIterator | MemberEnd ()
bool | HasMember (const Ch *name) const
| Check whether a member exists in the object.
GenericValue & | AddMember (GenericValue &name, GenericValue &value, Allocator &allocator)
| Add a member (name-value pair) to the object.
GenericValue & | AddMember (const Ch *name, Allocator &nameAllocator, GenericValue &value, Allocator &allocator)
GenericValue & | AddMember (const Ch *name, GenericValue &value, Allocator &allocator)
template<typename T >
GenericValue & | AddMember (const Ch *name, T value, Allocator &allocator)
bool | RemoveMember (const Ch *name)
| Remove a member in object by its name.
GenericValue & | SetArray ()
| Set this value as an empty array.
SizeType | Size () const
| Get the number of elements in array.
SizeType | Capacity () const
| Get the capacity of array.
bool | Empty () const
| Check whether the array is empty.
void | Clear ()
| Remove all elements in the array.
GenericValue & | operator[] (SizeType index)
| Get an element from array by index.
const GenericValue & | operator[] (SizeType index) const
ValueIterator | Begin ()
| Element iterator.
ValueIterator | End ()
ConstValueIterator | Begin () const
ConstValueIterator | End () const
GenericValue & | Reserve (SizeType newCapacity, Allocator &allocator)
| Request the array to have enough capacity to store elements.
GenericValue & | PushBack (GenericValue &value, Allocator &allocator)
| Append a value at the end of the array.
template<typename T >
GenericValue & | PushBack (T value, Allocator &allocator)
GenericValue & | PopBack ()
| Remove the last element in the array.
int | GetInt () const
unsigned | GetUint () const
int64_t | GetInt64 () const
uint64_t | GetUint64 () const
double | GetDouble () const
GenericValue & | SetInt (int i)
GenericValue & | SetUint (unsigned u)
GenericValue & | SetInt64 (int64_t i64)
GenericValue & | SetUint64 (uint64_t u64)
GenericValue & | SetDouble (double d)
const Ch * | GetString () const
SizeType | GetStringLength () const
| Get the length of string.
GenericValue & | SetString (const Ch *s, SizeType length)
| Set this value as a string without copying source string.
GenericValue & | SetString (const Ch *s)
| Set this value as a string without copying source string.
GenericValue & | SetString (const Ch *s, SizeType length, Allocator &allocator)
| Set this value as a string by copying from source string.
GenericValue & | SetString (const Ch *s, Allocator &allocator)
| Set this value as a string by copying from source string.
| GenericValue ()
| Default constructor creates a null value.
| GenericValue (Type type)
| Constructor with JSON value type.
| GenericValue (bool b)
| Constructor for boolean value.
| GenericValue (int i)
| Constructor for int value.
| GenericValue (unsigned u)
| Constructor for unsigned value.
| GenericValue (int64_t i64)
| Constructor for int64_t value.
| GenericValue (uint64_t u64)
| Constructor for uint64_t value.
| GenericValue (double d)
| Constructor for double value.
| GenericValue (const Ch *s, SizeType length)
| Constructor for constant string (i.e. do not make a copy of string)
| GenericValue (const Ch *s)
| Constructor for constant string (i.e. do not make a copy of string)
| GenericValue (const Ch *s, SizeType length, Allocator &allocator)
| Constructor for copy-string (i.e. do make a copy of string)
| GenericValue (const Ch *s, Allocator &allocator)
| Constructor for copy-string (i.e. do make a copy of string)
| ~GenericValue ()
| Destructor.

## Friends
class | GenericReader< Encoding, Allocator >

## Detailed Description

### template<typename Encoding, typename Allocator = MemoryPoolAllocator<>>
class rapidjson::GenericDocument< Encoding, Allocator >

A document for parsing JSON text as DOM.

Template Parameters

  Encoding | encoding for both parsing and string storage.
  Alloactor | allocator for allocating memory for the DOM, and the stack during parsing.

## Constructor & Destructor Documentation

template<typename Encoding , typename Allocator = MemoryPoolAllocator<>>

rapidjson::GenericDocument< Encoding, Allocator >::GenericDocument | ( | Allocator * | allocator = `0`,
|  | size_t | stackCapacity = `kDefaultStackCapacity`
| ) |  |
| inline

Constructor.

Parameters

  allocator | Optional allocator for allocating stack memory.
  stackCapacity | Initial capacity of stack in bytes.

## Member Function Documentation

template<typename Encoding , typename Allocator = MemoryPoolAllocator<>>
template<unsigned parseFlags>

GenericDocument& rapidjson::GenericDocument< Encoding, Allocator >::Parse | ( | const Ch * | str | ) |
| inline

Parse JSON text from a read-only string.

Template Parameters

  parseFlags | Combination of ParseFlag (must not contain kParseInsituFlag).

Parameters

  str | Read-only zero-terminated string to be parsed.

template<typename Encoding , typename Allocator = MemoryPoolAllocator<>>
template<unsigned parseFlags>

GenericDocument& rapidjson::GenericDocument< Encoding, Allocator >::ParseInsitu | ( | Ch * | str | ) |
| inline

Parse JSON text from a mutable string.

Template Parameters

  parseFlags | Combination of ParseFlag.

Parameters

  str | Mutable zero-terminated string to be parsed.

Returns
  The document itself for fluent API.

template<typename Encoding , typename Allocator = MemoryPoolAllocator<>>
template<unsigned parseFlags, typename Stream >

GenericDocument& rapidjson::GenericDocument< Encoding, Allocator >::ParseStream | ( | Stream & | stream | ) |
| inline

Parse JSON text from an input stream.

Template Parameters

  parseFlags | Combination of ParseFlag.

Parameters

  stream | Input stream to be parsed.

Returns
  The document itself for fluent API.

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

- D:/rapidjson_version0.1x/include/rapidjson/document.h