NCBI C++ ToolKit
|
Search Toolkit Book for rapidjson::GenericDocument
A document for parsing JSON text as DOM. More...
#include <misc/jsonwrapp/rapidjson11/document.h>
Classes | |
struct | ClearStackOnExit |
Public Types | |
typedef Encoding::Ch | Ch |
Character type derived from Encoding. More... | |
typedef GenericValue< Encoding, Allocator > | ValueType |
Value type of the document. More... | |
typedef Allocator | AllocatorType |
Allocator type from template parameter. More... | |
Public Types inherited from rapidjson::GenericValue< Encoding, MemoryPoolAllocator<> > | |
typedef GenericMember< Encoding, MemoryPoolAllocator<> > | Member |
Name-value pair in an object. More... | |
typedef Encoding | EncodingType |
Encoding type from template parameter. More... | |
typedef MemoryPoolAllocator<> | AllocatorType |
Allocator type from template parameter. More... | |
typedef Encoding::Ch | Ch |
Character type derived from Encoding. More... | |
typedef GenericStringRef< Ch > | StringRefType |
Reference to a constant string. More... | |
typedef GenericMemberIterator< false, Encoding, MemoryPoolAllocator<> >::Iterator | MemberIterator |
Member iterator for iterating in object. More... | |
typedef GenericMemberIterator< true, Encoding, MemoryPoolAllocator<> >::Iterator | ConstMemberIterator |
Constant member iterator for iterating in object. More... | |
typedef GenericValue * | ValueIterator |
Value iterator for iterating in array. More... | |
typedef const GenericValue * | ConstValueIterator |
Constant value iterator for iterating in array. More... | |
typedef GenericValue< Encoding, MemoryPoolAllocator<> > | ValueType |
Value type of itself. More... | |
typedef GenericArray< false, ValueType > | Array |
typedef GenericArray< true, ValueType > | ConstArray |
typedef GenericObject< false, ValueType > | Object |
typedef GenericObject< true, ValueType > | ConstObject |
enum | |
Public Member Functions | |
GenericDocument (Type type, Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0) | |
Constructor. More... | |
GenericDocument (Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0) | |
Constructor. More... | |
~GenericDocument () | |
GenericDocument & | Swap (GenericDocument &rhs) RAPIDJSON_NOEXCEPT |
Exchange the contents of this document with those of another. More... | |
template<typename Generator > | |
GenericDocument & | Populate (Generator &g) |
Populate this document by a generator which produces SAX events. More... | |
Allocator & | GetAllocator () const |
Get the allocator of this document. More... | |
Allocator * | GetOwnAllocator () const |
size_t | GetStackCapacity () const |
Get the capacity of stack in bytes. More... | |
bool | Null () |
bool | Bool (bool b) |
bool | Int (int i) |
bool | Uint (unsigned i) |
bool | Int64 (int64_t i) |
bool | Uint64 (uint64_t i) |
bool | Double (double d) |
bool | RawNumber (const Ch *str, SizeType length, bool copy) |
bool | String (const Ch *str, SizeType length, bool copy) |
bool | StartObject () |
bool | Key (const Ch *str, SizeType length, bool copy) |
bool | EndObject (SizeType memberCount) |
bool | StartArray () |
bool | EndArray (SizeType elementCount) |
Parse from stream | |
template<unsigned parseFlags, typename SourceEncoding , typename InputStream > | |
GenericDocument & | ParseStream (InputStream &is) |
Parse JSON text from an input stream (with Encoding conversion) More... | |
template<unsigned parseFlags, typename InputStream > | |
GenericDocument & | ParseStream (InputStream &is) |
Parse JSON text from an input stream. More... | |
template<typename InputStream > | |
GenericDocument & | ParseStream (InputStream &is) |
Parse JSON text from an input stream (with kParseDefaultFlags) More... | |
Parse in-place from mutable string | |
template<unsigned parseFlags> | |
GenericDocument & | ParseInsitu (Ch *str) |
Parse JSON text from a mutable string. More... | |
GenericDocument & | ParseInsitu (Ch *str) |
Parse JSON text from a mutable string (with kParseDefaultFlags) More... | |
Parse from read-only string | |
template<unsigned parseFlags, typename SourceEncoding > | |
GenericDocument & | Parse (const typename SourceEncoding::Ch *str) |
Parse JSON text from a read-only string (with Encoding conversion) More... | |
template<unsigned parseFlags> | |
GenericDocument & | Parse (const Ch *str) |
Parse JSON text from a read-only string. More... | |
GenericDocument & | Parse (const Ch *str) |
Parse JSON text from a read-only string (with kParseDefaultFlags) More... | |
template<unsigned parseFlags, typename SourceEncoding > | |
GenericDocument & | Parse (const typename SourceEncoding::Ch *str, size_t length) |
template<unsigned parseFlags> | |
GenericDocument & | Parse (const Ch *str, size_t length) |
GenericDocument & | Parse (const Ch *str, size_t length) |
Handling parse errors | |
bool | HasParseError () const |
Whether a parse error has occured in the last parsing. More... | |
ParseErrorCode | GetParseError () const |
Get the ParseErrorCode of last parsing. More... | |
size_t | GetErrorOffset () const |
Get the position of last parsing error in input, 0 otherwise. More... | |
void | SetParseResult (const ParseResult &result) |
operator ParseResult () const | |
Implicit conversion to get the last parse result. More... | |
Public Member Functions inherited from rapidjson::GenericValue< Encoding, MemoryPoolAllocator<> > | |
GenericValue & | operator= (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
Assignment with move semantics. More... | |
GenericValue & | operator= (StringRefType str) RAPIDJSON_NOEXCEPT |
Assignment of constant string reference (no copy) More... | |
RAPIDJSON_DISABLEIF_RETURN ((internal::IsPointer< T >),(GenericValue &)) operator | |
Assignment with primitive types. More... | |
RAPIDJSON_FORCEINLINE const Ch * | GetStringPointer () const |
RAPIDJSON_FORCEINLINE const Ch * | SetStringPointer (const Ch *str) |
RAPIDJSON_FORCEINLINE GenericValue * | GetElementsPointer () const |
RAPIDJSON_FORCEINLINE GenericValue * | SetElementsPointer (GenericValue *elements) |
RAPIDJSON_FORCEINLINE Member * | GetMembersPointer () const |
RAPIDJSON_FORCEINLINE Member * | SetMembersPointer (Member *members) |
void | SetArrayRaw (GenericValue *values, SizeType count, MemoryPoolAllocator<> &allocator) |
void | SetObjectRaw (Member *members, SizeType count, MemoryPoolAllocator<> &allocator) |
Initialize this value as object with initial data, without calling destructor. More... | |
void | SetStringRaw (StringRefType s) RAPIDJSON_NOEXCEPT |
Initialize this value as constant string, without calling destructor. More... | |
void | SetStringRaw (StringRefType s, MemoryPoolAllocator<> &allocator) |
Initialize this value as copy string with initial data, without calling destructor. More... | |
void | RawAssign (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
Assignment without calling destructor. More... | |
bool | StringEqual (const GenericValue< Encoding, SourceAllocator > &rhs) const |
ValueType & | SetValueAllocator (MemoryPoolAllocator<> *allocator) |
MemoryPoolAllocator<> * | GetValueAllocator (void) const |
GenericValue () RAPIDJSON_NOEXCEPT | |
Default constructor creates a null value. More... | |
GenericValue (Type type) RAPIDJSON_NOEXCEPT | |
Constructor with JSON value type. More... | |
GenericValue (const GenericValue< Encoding, SourceAllocator > &rhs, MemoryPoolAllocator<> &allocator) | |
Explicit copy constructor (with allocator) More... | |
GenericValue (T b, RAPIDJSON_ENABLEIF((internal::IsSame< bool, T >))) RAPIDJSON_NOEXCEPT | |
Constructor for boolean value. More... | |
GenericValue (int i) RAPIDJSON_NOEXCEPT | |
Constructor for int value. More... | |
GenericValue (unsigned u) RAPIDJSON_NOEXCEPT | |
Constructor for unsigned value. More... | |
GenericValue (int64_t i64) RAPIDJSON_NOEXCEPT | |
Constructor for int64_t value. More... | |
GenericValue (uint64_t u64) RAPIDJSON_NOEXCEPT | |
Constructor for uint64_t value. More... | |
GenericValue (double d) RAPIDJSON_NOEXCEPT | |
Constructor for double value. More... | |
GenericValue (float f) RAPIDJSON_NOEXCEPT | |
Constructor for float value. More... | |
GenericValue (const Ch *s, SizeType length) RAPIDJSON_NOEXCEPT | |
Constructor for constant string (i.e. do not make a copy of string) More... | |
GenericValue (StringRefType s) RAPIDJSON_NOEXCEPT | |
Constructor for constant string (i.e. do not make a copy of string) More... | |
GenericValue (const Ch *s, SizeType length, MemoryPoolAllocator<> &allocator) | |
Constructor for copy-string (i.e. do make a copy of string) More... | |
GenericValue (const Ch *s, MemoryPoolAllocator<> &allocator) | |
Constructor for copy-string (i.e. do make a copy of string) More... | |
GenericValue (Array a) RAPIDJSON_NOEXCEPT | |
Constructor for Array. More... | |
GenericValue (Object o) RAPIDJSON_NOEXCEPT | |
Constructor for Object. More... | |
~GenericValue () | |
Destructor. More... | |
Private Member Functions | |
GenericDocument (const GenericDocument &) | |
Prohibit copying. More... | |
GenericDocument & | operator= (const GenericDocument &) |
Prohibit assignment. More... | |
void | ClearStack () |
void | Destroy () |
Private Attributes | |
Allocator * | ownAllocator_ |
internal::Stack< StackAllocator > | stack_ |
ParseResult | parseResult_ |
Static Private Attributes | |
static const size_t | kDefaultStackCapacity = 1024 |
Friends | |
template<typename , typename > | |
class | GenericValue |
void | swap (GenericDocument &a, GenericDocument &b) RAPIDJSON_NOEXCEPT |
free-standing swap function helper More... | |
Additional Inherited Members | |
Public Attributes inherited from rapidjson::GenericValue< Encoding, MemoryPoolAllocator<> > | |
Data | data_ |
Static Public Attributes inherited from rapidjson::GenericValue< Encoding, MemoryPoolAllocator<> > | |
static const SizeType | kDefaultArrayCapacity |
static const SizeType | kDefaultObjectCapacity |
Protected Attributes inherited from rapidjson::GenericValue< Encoding, MemoryPoolAllocator<> > | |
MemoryPoolAllocator<> * | allocator_ |
A document for parsing JSON text as DOM.
Encoding | Encoding for both parsing and string storage. |
Allocator | Allocator for allocating memory for the DOM |
StackAllocator | Allocator for allocating memory for stack during parsing. |
delete
a GenericDocument object via a pointer to a GenericValue. Definition at line 2121 of file document.h.
typedef Allocator rapidjson::GenericDocument< Encoding, Allocator, StackAllocator >::AllocatorType |
Allocator type from template parameter.
Definition at line 2125 of file document.h.
typedef Encoding::Ch rapidjson::GenericDocument< Encoding, Allocator, StackAllocator >::Ch |
Character type derived from Encoding.
Definition at line 2123 of file document.h.
typedef GenericValue<Encoding, Allocator> rapidjson::GenericDocument< Encoding, Allocator, StackAllocator >::ValueType |
Value type of the document.
Definition at line 2124 of file document.h.
|
inlineexplicit |
Constructor.
Creates an empty document of specified type.
type | Mandatory type of object to create. |
allocator | Optional allocator for allocating memory. |
stackCapacity | Optional initial capacity of stack in bytes. |
stackAllocator | Optional allocator for allocating memory for stack. |
Definition at line 2143 of file document.h.
References RAPIDJSON_NEW.
|
inline |
Constructor.
Creates an empty document which type is Null.
allocator | Optional allocator for allocating memory. |
stackCapacity | Optional initial capacity of stack in bytes. |
stackAllocator | Optional allocator for allocating memory for stack. |
Definition at line 2168 of file document.h.
References RAPIDJSON_NEW.
|
inline |
Definition at line 2197 of file document.h.
|
private |
Prohibit copying.
|
inline |
Definition at line 2478 of file document.h.
References b.
|
inlineprivate |
Definition at line 2525 of file document.h.
|
inlineprivate |
Definition at line 2534 of file document.h.
References RAPIDJSON_DELETE.
|
inline |
Definition at line 2483 of file document.h.
|
inline |
Definition at line 2513 of file document.h.
|
inline |
Definition at line 2505 of file document.h.
|
inline |
Get the allocator of this document.
Definition at line 2453 of file document.h.
Referenced by CJson_Document::CJson_Document(), CJson_Document::operator=(), and rapidjson::GenericPointer< ValueType, Allocator >::Set().
|
inline |
Get the position of last parsing error in input, 0 otherwise.
Definition at line 2423 of file document.h.
|
inline |
Definition at line 2454 of file document.h.
|
inline |
Get the ParseErrorCode of last parsing.
Definition at line 2420 of file document.h.
Referenced by CJson_Document::EndOfData(), and CJson_Document::GetReadError().
|
inline |
Get the capacity of stack in bytes.
Definition at line 2458 of file document.h.
|
inline |
Whether a parse error has occured in the last parsing.
Definition at line 2417 of file document.h.
Referenced by CJson_Document::ParseMutableString(), CJson_Document::ParseString(), CJson_Document::Read(), CJson_Document::ReadBuffered(), and CJson_Document::ReadSucceeded().
|
inline |
Definition at line 2479 of file document.h.
References i.
|
inline |
Definition at line 2481 of file document.h.
References i.
|
inline |
Definition at line 2503 of file document.h.
|
inline |
Definition at line 2477 of file document.h.
|
inline |
Implicit conversion to get the last parse result.
Definition at line 2442 of file document.h.
|
private |
Prohibit assignment.
|
inline |
Parse JSON text from a read-only string.
parseFlags | Combination of ParseFlag (must not contain kParseInsituFlag). |
str | Read-only zero-terminated string to be parsed. |
Definition at line 2365 of file document.h.
References str().
|
inline |
Parse JSON text from a read-only string (with kParseDefaultFlags)
str | Read-only zero-terminated string to be parsed. |
Definition at line 2372 of file document.h.
References str().
|
inline |
Definition at line 2386 of file document.h.
References str().
|
inline |
Definition at line 2390 of file document.h.
References str().
|
inline |
Parse JSON text from a read-only string (with Encoding conversion)
parseFlags | Combination of ParseFlag (must not contain kParseInsituFlag). |
SourceEncoding | Transcoding from input Encoding |
str | Read-only zero-terminated string to be parsed. |
Definition at line 2354 of file document.h.
References rapidjson::kParseInsituFlag, RAPIDJSON_ASSERT, and str().
Referenced by CJson_Document::CJson_Document(), and CJson_Document::ParseString().
|
inline |
Definition at line 2377 of file document.h.
References rapidjson::kParseInsituFlag, ms(), RAPIDJSON_ASSERT, and str().
|
inline |
Parse JSON text from a mutable string.
parseFlags | Combination of ParseFlag. |
str | Mutable zero-terminated string to be parsed. |
Definition at line 2331 of file document.h.
References str().
Referenced by CJson_Document::ParseMutableString().
|
inline |
Parse JSON text from a mutable string (with kParseDefaultFlags)
str | Mutable zero-terminated string to be parsed. |
Definition at line 2340 of file document.h.
References str().
|
inline |
Parse JSON text from an input stream (with Encoding conversion)
parseFlags | Combination of ParseFlag. |
SourceEncoding | Encoding of input stream |
InputStream | Type of input stream, implementing Stream concept |
is | Input stream to be parsed. |
Definition at line 2286 of file document.h.
References RAPIDJSON_ASSERT.
Referenced by CJson_Document::Read(), and CJson_Document::ReadBuffered().
|
inline |
Parse JSON text from an input stream.
parseFlags | Combination of ParseFlag. |
InputStream | Type of input stream, implementing Stream concept |
is | Input stream to be parsed. |
Definition at line 2307 of file document.h.
|
inline |
Parse JSON text from an input stream (with kParseDefaultFlags)
InputStream | Type of input stream, implementing Stream concept |
is | Input stream to be parsed. |
Definition at line 2317 of file document.h.
|
inline |
Populate this document by a generator which produces SAX events.
Generator | A functor with bool f(Handler) prototype. |
g | Generator functor which sends SAX events to the parameter. |
Definition at line 2266 of file document.h.
References g(), and RAPIDJSON_ASSERT.
Referenced by CJson_Document::Read().
|
inline |
Definition at line 2485 of file document.h.
|
inline |
Definition at line 2426 of file document.h.
References result.
Referenced by CJson_Document::Read().
|
inline |
Definition at line 2511 of file document.h.
References rapidjson::kArrayType.
|
inline |
Definition at line 2501 of file document.h.
References rapidjson::kObjectType.
|
inline |
Definition at line 2493 of file document.h.
|
inline |
Exchange the contents of this document with those of another.
rhs | Another document. |
Definition at line 2236 of file document.h.
References rapidjson::internal::Swap().
|
inline |
Definition at line 2480 of file document.h.
References i.
|
inline |
Definition at line 2482 of file document.h.
References i.
|
friend |
Definition at line 2473 of file document.h.
|
friend |
free-standing swap function helper
Helper function to enable support for common swap implementation pattern based on std::swap:
Definition at line 2258 of file document.h.
|
staticprivate |
Definition at line 2538 of file document.h.
|
private |
Definition at line 2541 of file document.h.
|
private |
Definition at line 2543 of file document.h.
|
private |
Definition at line 2542 of file document.h.