Represents a JSON value. Use Value for UTF8 encoding and default allocator. Plus de détails...
#include <arcane/utils/internal/json/rapidjson/document.h>
Classes | |
struct | ArrayData |
union | Data |
struct | Flag |
union | Number |
struct | ObjectData |
struct | ShortString |
struct | String |
Types publics | |
typedef GenericMember< Encoding, Allocator > | Member |
Name-value pair in an object. | |
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 GenericStringRef< Ch > | StringRefType |
Reference to a constant string. | |
typedef GenericMemberIterator< false, Encoding, Allocator >::Iterator | MemberIterator |
Member iterator for iterating in object. | |
typedef GenericMemberIterator< true, Encoding, 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, 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 |
Assignment operators | |
enum | { kBoolFlag = 0x0008 , kNumberFlag = 0x0010 , kIntFlag = 0x0020 , kUintFlag = 0x0040 , kInt64Flag = 0x0080 , kUint64Flag = 0x0100 , kDoubleFlag = 0x0200 , kStringFlag = 0x0400 , kCopyFlag = 0x0800 , kInlineStrFlag = 0x1000 , kNullFlag = kNullType , kTrueFlag = kTrueType | kBoolFlag , kFalseFlag = kFalseType | kBoolFlag , kNumberIntFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag , kNumberUintFlag = kNumberType | kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag , kNumberInt64Flag = kNumberType | kNumberFlag | kInt64Flag , kNumberUint64Flag = kNumberType | kNumberFlag | kUint64Flag , kNumberDoubleFlag = kNumberType | kNumberFlag | kDoubleFlag , kNumberAnyFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag , kConstStringFlag = kStringType | kStringFlag , kCopyStringFlag = kStringType | kStringFlag | kCopyFlag , kShortStringFlag = kStringType | kStringFlag | kCopyFlag | kInlineStrFlag , kObjectFlag = kObjectType , kArrayFlag = kArrayType , kTypeMask = 0x07 } |
template<typename , typename , typename > | |
class | GenericDocument |
static const SizeType | kDefaultArrayCapacity = 16 |
static const SizeType | kDefaultObjectCapacity = 16 |
Data | data_ |
GenericValue & | operator= (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
Assignment with move semantics. | |
GenericValue & | operator= (StringRefType str) RAPIDJSON_NOEXCEPT |
Assignment of constant string reference (no copy) | |
template<typename T > | |
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) |
void | SetArrayRaw (GenericValue *values, SizeType count, Allocator &allocator) |
void | SetObjectRaw (Member *members, SizeType count, 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 | SetStringRaw (StringRefType s, Allocator &allocator) |
Initialize this value as copy string with initial data, without calling destructor. | |
void | RawAssign (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
Assignment without calling destructor. | |
template<typename SourceAllocator > | |
bool | StringEqual (const GenericValue< Encoding, SourceAllocator > &rhs) const |
Constructors and destructor. | |
GenericValue () RAPIDJSON_NOEXCEPT | |
Default constructor creates a null value. | |
GenericValue (Type type) RAPIDJSON_NOEXCEPT | |
Constructor with JSON value type. | |
template<typename SourceAllocator > | |
GenericValue (const GenericValue< Encoding, SourceAllocator > &rhs, Allocator &allocator, bool copyConstStrings=false) | |
Explicit copy constructor (with allocator) | |
template<typename T > | |
GenericValue (T b, RAPIDJSON_ENABLEIF((internal::IsSame< bool, T >))) RAPIDJSON_NOEXCEPT | |
Constructor for boolean value. | |
GenericValue (int i) RAPIDJSON_NOEXCEPT | |
Constructor for int value. | |
GenericValue (unsigned u) RAPIDJSON_NOEXCEPT | |
Constructor for unsigned value. | |
GenericValue (int64_t i64) RAPIDJSON_NOEXCEPT | |
Constructor for int64_t value. | |
GenericValue (uint64_t u64) RAPIDJSON_NOEXCEPT | |
Constructor for uint64_t value. | |
GenericValue (double d) RAPIDJSON_NOEXCEPT | |
Constructor for double value. | |
GenericValue (float f) RAPIDJSON_NOEXCEPT | |
Constructor for float value. | |
GenericValue (const Ch *s, SizeType length) RAPIDJSON_NOEXCEPT | |
Constructor for constant string (i.e. do not make a copy of string) | |
GenericValue (StringRefType s) RAPIDJSON_NOEXCEPT | |
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 (Array a) RAPIDJSON_NOEXCEPT | |
Constructor for Array. | |
GenericValue (Object o) RAPIDJSON_NOEXCEPT | |
Constructor for Object. | |
~GenericValue () | |
Destructor. | |
GenericValue (const GenericValue &rhs) | |
Copy constructor is not permitted. | |
Represents a JSON value. Use Value for UTF8 encoding and default allocator.
A JSON value can be one of 7 types. This class is a variant type supporting these types.
Use the Value if UTF8 and default allocator
Encoding | Encoding of the value. (Even non-string values need to have the same encoding in a document) |
Allocator | Allocator type for allocating memory of object, array and string. |
Définition à la ligne 609 du fichier document.h.
typedef Allocator GenericValue< Encoding, Allocator >::AllocatorType |
Allocator type from template parameter.
Définition à la ligne 614 du fichier document.h.
typedef GenericArray<false, ValueType> GenericValue< Encoding, Allocator >::Array |
Définition à la ligne 622 du fichier document.h.
typedef Encoding::Ch GenericValue< Encoding, Allocator >::Ch |
Character type derived from Encoding.
Définition à la ligne 615 du fichier document.h.
typedef GenericArray<true, ValueType> GenericValue< Encoding, Allocator >::ConstArray |
Définition à la ligne 623 du fichier document.h.
typedef GenericMemberIterator<true,Encoding,Allocator>::Iterator GenericValue< Encoding, Allocator >::ConstMemberIterator |
Constant member iterator for iterating in object.
Définition à la ligne 618 du fichier document.h.
typedef GenericObject<true, ValueType> GenericValue< Encoding, Allocator >::ConstObject |
Définition à la ligne 625 du fichier document.h.
typedef const GenericValue* GenericValue< Encoding, Allocator >::ConstValueIterator |
Constant value iterator for iterating in array.
Définition à la ligne 620 du fichier document.h.
typedef Encoding GenericValue< Encoding, Allocator >::EncodingType |
Encoding type from template parameter.
Définition à la ligne 613 du fichier document.h.
typedef GenericMember<Encoding, Allocator> GenericValue< Encoding, Allocator >::Member |
Name-value pair in an object.
Définition à la ligne 612 du fichier document.h.
typedef GenericMemberIterator<false,Encoding,Allocator>::Iterator GenericValue< Encoding, Allocator >::MemberIterator |
Member iterator for iterating in object.
Définition à la ligne 617 du fichier document.h.
typedef GenericObject<false, ValueType> GenericValue< Encoding, Allocator >::Object |
Définition à la ligne 624 du fichier document.h.
typedef GenericStringRef<Ch> GenericValue< Encoding, Allocator >::StringRefType |
Reference to a constant string.
Définition à la ligne 616 du fichier document.h.
typedef GenericValue* GenericValue< Encoding, Allocator >::ValueIterator |
Value iterator for iterating in array.
Définition à la ligne 619 du fichier document.h.
typedef GenericValue<Encoding, Allocator> GenericValue< Encoding, Allocator >::ValueType |
Value type of itself.
Définition à la ligne 621 du fichier document.h.
Définition à la ligne 1942 du fichier document.h.
|
inline |
Default constructor creates a null value.
Définition à la ligne 631 du fichier document.h.
Référencé par GenericValue< Encoding, Allocator >::GenericValue().
|
inlineexplicit |
Constructor with JSON value type.
This creates a Value of specified type with default content.
type | Type of the value. |
Définition à la ligne 661 du fichier document.h.
Références kNullType, kNumberType, kStringType, et RAPIDJSON_NOEXCEPT_ASSERT.
|
inline |
Explicit copy constructor (with allocator)
Creates a copy of a Value by using the given Allocator
SourceAllocator | allocator of rhs |
rhs | Value to copy from (read-only) |
allocator | Allocator for allocating copied elements and buffers. Commonly use GenericDocument::GetAllocator(). |
copyConstStrings | Force copying of constant strings (e.g. referencing an in-situ buffer) |
Définition à la ligne 683 du fichier document.h.
Références GenericValue< Encoding, Allocator >::GenericValue(), kArrayType, kObjectType, kStringType, GenericMember< Encoding, Allocator >::name, GenericValue< Encoding, Allocator >::SetStringRaw(), SizeType, StringRef(), et GenericMember< Encoding, Allocator >::value.
|
inlineexplicit |
Constructor for boolean value.
b | Boolean value |
bool
, if you want to construct a boolean JSON value in such cases. Définition à la ligne 732 du fichier document.h.
Références RAPIDJSON_STATIC_ASSERT.
|
inlineexplicit |
Constructor for int value.
Définition à la ligne 743 du fichier document.h.
|
inlineexplicit |
Constructor for unsigned value.
Définition à la ligne 749 du fichier document.h.
|
inlineexplicit |
Constructor for int64_t value.
Définition à la ligne 755 du fichier document.h.
Références RAPIDJSON_UINT64_C2.
|
inlineexplicit |
Constructor for uint64_t value.
Définition à la ligne 770 du fichier document.h.
Références RAPIDJSON_UINT64_C2.
|
inlineexplicit |
Constructor for double value.
Définition à la ligne 782 du fichier document.h.
|
inlineexplicit |
Constructor for float value.
Définition à la ligne 785 du fichier document.h.
|
inline |
Constructor for constant string (i.e. do not make a copy of string)
Définition à la ligne 788 du fichier document.h.
Références GenericValue< Encoding, Allocator >::SetStringRaw(), et StringRef().
|
inlineexplicit |
Constructor for constant string (i.e. do not make a copy of string)
Définition à la ligne 791 du fichier document.h.
Références GenericValue< Encoding, Allocator >::SetStringRaw().
|
inline |
Constructor for copy-string (i.e. do make a copy of string)
Définition à la ligne 794 du fichier document.h.
Références GenericValue< Encoding, Allocator >::SetStringRaw(), et StringRef().
|
inline |
Constructor for copy-string (i.e. do make a copy of string)
Définition à la ligne 797 du fichier document.h.
Références GenericValue< Encoding, Allocator >::SetStringRaw(), et StringRef().
|
inline |
Constructor for Array.
a | An array obtained by GetArray() . |
Array
is always pass-by-value. Définition à la ligne 812 du fichier document.h.
|
inline |
Constructor for Object.
o | An object obtained by GetObject() . |
Object
is always pass-by-value. Définition à la ligne 823 du fichier document.h.
|
inline |
Destructor.
Need to destruct elements of array, members of object, or copy-string.
Définition à la ligne 831 du fichier document.h.
Référencé par GenericValue< Encoding, Allocator >::operator=().
|
inline |
Définition à la ligne 2059 du fichier document.h.
|
inline |
Définition à la ligne 2061 du fichier document.h.
|
inline |
Définition à la ligne 2057 du fichier document.h.
|
inline |
Assignment with move semantics.
rhs | Source of the assignment. It will become a null value after assignment. |
Définition à la ligne 867 du fichier document.h.
Références RAPIDJSON_LIKELY, GenericValue< Encoding, Allocator >::RawAssign(), et GenericValue< Encoding, Allocator >::~GenericValue().
Référencé par GenericDocument< Encoding, Allocator, StackAllocator >::ParseStream(), et GenericDocument< Encoding, Allocator, StackAllocator >::Populate().
|
inline |
Assignment of constant string reference (no copy)
str | Constant string reference to be assigned |
Définition à la ligne 887 du fichier document.h.
GenericValue< Encoding, Allocator >::RAPIDJSON_DISABLEIF_RETURN | ( | (internal::IsPointer< T >) | , |
(GenericValue< Encoding, Allocator > &) | |||
) |
Assignment with primitive types.
T | Either Type, int , unsigned , int64_t , uint64_t |
value | The value to be assigned. |
T
explicitly disallows all pointer types, especially (const
) Ch*. This helps avoiding implicitly referencing character strings with insufficient lifetime, use SetString(const Ch*, Allocator&) (for copying) or StringRef() (to explicitly mark the pointer as constant) instead. All other pointer types would implicitly convert to bool
, use SetBool() instead. Set boolean value
|
inline |
Assignment without calling destructor.
Définition à la ligne 2115 du fichier document.h.
Référencé par GenericValue< Encoding, Allocator >::operator=().
|
inline |
Définition à la ligne 2065 du fichier document.h.
|
inline |
Définition à la ligne 2060 du fichier document.h.
|
inline |
Définition à la ligne 2062 du fichier document.h.
|
inline |
Initialize this value as object with initial data, without calling destructor.
Définition à la ligne 2078 du fichier document.h.
|
inline |
Définition à la ligne 2058 du fichier document.h.
|
inline |
Initialize this value as constant string, without calling destructor.
Définition à la ligne 2091 du fichier document.h.
Référencé par GenericValue< Encoding, Allocator >::GenericValue(), GenericValue< Encoding, Allocator >::GenericValue(), GenericValue< Encoding, Allocator >::GenericValue(), GenericValue< Encoding, Allocator >::GenericValue(), et GenericValue< Encoding, Allocator >::GenericValue().
|
inline |
Initialize this value as copy string with initial data, without calling destructor.
Définition à la ligne 2098 du fichier document.h.
Références GenericStringRef< CharType >::length.
|
inline |
Définition à la ligne 2122 du fichier document.h.
|
friend |
Définition à la ligne 1940 du fichier document.h.
Data GenericValue< Encoding, Allocator >::data_ |
Définition à la ligne 2137 du fichier document.h.
|
static |
Définition à la ligne 1973 du fichier document.h.
|
static |
Définition à la ligne 1974 du fichier document.h.