A document for parsing JSON text as DOM. More...
Classes | |
| struct | ClearStackOnExit |
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. | |
| typedef StackAllocator | StackAllocatorType |
| StackAllocator type from template parameter. | |
| Public Types inherited from GenericValue< Encoding, RAPIDJSON_DEFAULT_ALLOCATOR > | |
| typedef GenericMember< Encoding, RAPIDJSON_DEFAULT_ALLOCATOR > | Member |
| Name-value pair in an object. | |
| typedef Encoding | EncodingType |
| Encoding type from template parameter. | |
| typedef RAPIDJSON_DEFAULT_ALLOCATOR | AllocatorType |
| Allocator type from template parameter. | |
| typedef Encoding::Ch | Ch |
| Character type derived from Encoding. | |
| typedef GenericStringRef< Ch > | StringRefType |
| Reference to a constant string. | |
| typedef GenericMemberIterator< false, Encoding, RAPIDJSON_DEFAULT_ALLOCATOR >::Iterator | MemberIterator |
| Member iterator for iterating in object. | |
| typedef GenericMemberIterator< true, Encoding, RAPIDJSON_DEFAULT_ALLOCATOR >::Iterator | 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. | |
| typedef GenericValue< Encoding, RAPIDJSON_DEFAULT_ALLOCATOR > | ValueType |
| Value type of itself. | |
| 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. | |
| GenericDocument (Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0) | |
| Constructor. | |
| GenericDocument & | Swap (GenericDocument &rhs) RAPIDJSON_NOEXCEPT |
| Exchange the contents of this document with those of another. | |
| template<typename Generator> | |
| GenericDocument & | Populate (Generator &g) |
| Populate this document by a generator which produces SAX events. | |
| Allocator & | GetAllocator () |
| Get the allocator of this document. | |
| size_t | GetStackCapacity () const |
| Get the capacity of stack in bytes. | |
| 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). | |
| template<unsigned parseFlags, typename InputStream> | |
| GenericDocument & | ParseStream (InputStream &is) |
| Parse JSON text from an input stream. | |
| template<typename InputStream> | |
| GenericDocument & | ParseStream (InputStream &is) |
| Parse JSON text from an input stream (with kParseDefaultFlags). | |
Parse in-place from mutable string | |
| template<unsigned parseFlags> | |
| GenericDocument & | ParseInsitu (Ch *str) |
| Parse JSON text from a mutable string. | |
| GenericDocument & | ParseInsitu (Ch *str) |
| Parse JSON text from a mutable string (with kParseDefaultFlags). | |
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). | |
| template<unsigned parseFlags> | |
| GenericDocument & | Parse (const Ch *str) |
| Parse JSON text from a read-only string. | |
| GenericDocument & | Parse (const Ch *str) |
| Parse JSON text from a read-only string (with kParseDefaultFlags). | |
| 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 occurred in the last parsing. | |
| ParseErrorCode | GetParseError () const |
| Get the ParseErrorCode of last parsing. | |
| size_t | GetErrorOffset () const |
| Get the position of last parsing error in input, 0 otherwise. | |
| operator ParseResult () const | |
| Implicit conversion to get the last parse result. | |
| Public Member Functions inherited from GenericValue< Encoding, RAPIDJSON_DEFAULT_ALLOCATOR > | |
| GenericValue () RAPIDJSON_NOEXCEPT | |
| Default constructor creates a null value. | |
| ~GenericValue () | |
| Destructor. | |
| GenericValue & | operator= (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
| Assignment with move semantics. | |
| RAPIDJSON_DISABLEIF_RETURN ((internal::IsPointer< T >),(GenericValue &)) operator | |
| Assignment with primitive types. | |
| 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) |
| RAPIDJSON_FORCEINLINE Member * | DoAllocMembers (SizeType capacity, RAPIDJSON_DEFAULT_ALLOCATOR &allocator) |
| void | DoReserveMembers (SizeType newCapacity, RAPIDJSON_DEFAULT_ALLOCATOR &allocator) |
| MemberIterator | DoFindMember (const GenericValue< Encoding, SourceAllocator > &name) |
| void | DoClearMembers () |
| void | DoFreeMembers () |
| void | DoAddMember (GenericValue &name, GenericValue &value, RAPIDJSON_DEFAULT_ALLOCATOR &allocator) |
| MemberIterator | DoRemoveMember (MemberIterator m) |
| MemberIterator | DoEraseMembers (ConstMemberIterator first, ConstMemberIterator last) |
| void | DoCopyMembers (const GenericValue< Encoding, SourceAllocator > &rhs, RAPIDJSON_DEFAULT_ALLOCATOR &allocator, bool copyConstStrings) |
| void | SetArrayRaw (GenericValue *values, SizeType count, RAPIDJSON_DEFAULT_ALLOCATOR &allocator) |
| void | SetObjectRaw (Member *members, SizeType count, RAPIDJSON_DEFAULT_ALLOCATOR &allocator) |
| Initialize this value as object with initial data, without calling destructor. | |
| void | SetStringRaw (StringRefType s) RAPIDJSON_NOEXCEPT |
| Initialize this value as constant string, without calling destructor. | |
| void | RawAssign (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
| Assignment without calling destructor. | |
| bool | StringEqual (const GenericValue< Encoding, SourceAllocator > &rhs) const |
Private Member Functions | |
| GenericDocument (const GenericDocument &) | |
| Prohibit copying. | |
| GenericDocument & | operator= (const GenericDocument &) |
| Prohibit assignment. | |
| void | ClearStack () |
| void | Destroy () |
Private Attributes | |
| Allocator * | allocator_ |
| 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 | |
Additional Inherited Members | |
| static RAPIDJSON_FORCEINLINE const Ch * | DataString (const Data &data) |
| static RAPIDJSON_FORCEINLINE SizeType | DataStringLength (const Data &data) |
| Data | data_ |
| static const SizeType | kDefaultArrayCapacity |
| static const SizeType | kDefaultObjectCapacity |
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 2501 of file document.h.
| typedef Allocator GenericDocument< Encoding, Allocator, StackAllocator >::AllocatorType |
Allocator type from template parameter.
Definition at line 2505 of file document.h.
| typedef Encoding::Ch GenericDocument< Encoding, Allocator, StackAllocator >::Ch |
Character type derived from Encoding.
Definition at line 2503 of file document.h.
| typedef StackAllocator GenericDocument< Encoding, Allocator, StackAllocator >::StackAllocatorType |
StackAllocator type from template parameter.
Definition at line 2506 of file document.h.
| typedef GenericValue<Encoding, Allocator> GenericDocument< Encoding, Allocator, StackAllocator >::ValueType |
Value type of the document.
Definition at line 2504 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 2515 of file document.h.
|
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 2528 of file document.h.
|
inline |
Definition at line 2550 of file document.h.
|
inline |
Definition at line 2823 of file document.h.
|
inlineprivate |
Definition at line 2870 of file document.h.
|
inlineprivate |
Definition at line 2879 of file document.h.
|
inline |
Definition at line 2828 of file document.h.
|
inline |
Definition at line 2858 of file document.h.
|
inline |
Definition at line 2850 of file document.h.
|
inline |
Get the allocator of this document.
Definition at line 2797 of file document.h.
|
inline |
Get the position of last parsing error in input, 0 otherwise.
Definition at line 2779 of file document.h.
|
inline |
Get the ParseErrorCode of last parsing.
Definition at line 2776 of file document.h.
Referenced by Arcane::JSONDocument::parse().
|
inline |
Get the capacity of stack in bytes.
Definition at line 2803 of file document.h.
|
inline |
Whether a parse error has occurred in the last parsing.
Definition at line 2773 of file document.h.
Referenced by Arcane::JSONDocument::parse().
|
inline |
Definition at line 2824 of file document.h.
|
inline |
Definition at line 2826 of file document.h.
|
inline |
Definition at line 2848 of file document.h.
|
inline |
Definition at line 2822 of file document.h.
|
inline |
Implicit conversion to get the last parse result.
Definition at line 2793 of file document.h.
|
inline |
Parse JSON text from a read-only string (with kParseDefaultFlags).
| str | Read-only zero-terminated string to be parsed. |
Definition at line 2728 of file document.h.
|
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 2721 of file document.h.
|
inline |
Definition at line 2746 of file document.h.
|
inline |
Definition at line 2742 of file document.h.
|
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 2710 of file document.h.
Referenced by GenericDocument< UTF8<> >::Parse(), Arcane::JSONDocument::parse(), and GenericDocument< UTF8<> >::ParseStream().
|
inline |
Definition at line 2733 of file document.h.
|
inline |
Parse JSON text from a mutable string (with kParseDefaultFlags).
| str | Mutable zero-terminated string to be parsed. |
Definition at line 2696 of file document.h.
|
inline |
Parse JSON text from a mutable string.
| parseFlags | Combination of ParseFlag. |
| str | Mutable zero-terminated string to be parsed. |
Definition at line 2687 of file document.h.
Referenced by GenericDocument< UTF8<> >::ParseInsitu().
|
inline |
Parse JSON text from an input stream (with kParseDefaultFlags).
| is | Input stream to be parsed. |
Definition at line 2673 of file document.h.
|
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 2663 of file document.h.
|
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 2644 of file document.h.
Referenced by GenericDocument< UTF8<> >::Parse(), GenericDocument< UTF8<> >::ParseInsitu(), and GenericDocument< UTF8<> >::ParseStream().
|
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 2624 of file document.h.
|
inline |
Definition at line 2830 of file document.h.
|
inline |
Definition at line 2856 of file document.h.
|
inline |
Definition at line 2846 of file document.h.
|
inline |
Definition at line 2838 of file document.h.
|
inline |
Exchange the contents of this document with those of another.
| rhs | Another document. |
Definition at line 2591 of file document.h.
|
inline |
Definition at line 2825 of file document.h.
|
inline |
Definition at line 2827 of file document.h.
|
friend |
Definition at line 2818 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 2616 of file document.h.
|
private |
Definition at line 2884 of file document.h.
|
staticprivate |
Definition at line 2883 of file document.h.
|
private |
Definition at line 2885 of file document.h.
|
private |
Definition at line 2887 of file document.h.
|
private |
Definition at line 2886 of file document.h.