|
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 |
|
|
enum | {
kBoolFlag = 0x0008
, kNumberFlag = 0x0010
, kIntFlag = 0x0020
, kUintFlag = 0x0040
,
kInt64Flag = 0x0080
, kUint64Flag = 0x0100
, kDoubleFlag = 0x0200
, kStringFlag = 0x0400
,
kCopyFlag = 0x0800
, kInlineStrFlag = 0x1000
, kNullFlag = kNullType
, kTrueFlag = static_cast<int>(kTrueType) | static_cast<int>(kBoolFlag)
,
kFalseFlag = static_cast<int>(kFalseType) | static_cast<int>(kBoolFlag)
, kNumberIntFlag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kIntFlag | kInt64Flag)
, kNumberUintFlag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag)
, kNumberInt64Flag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kInt64Flag)
,
kNumberUint64Flag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kUint64Flag)
, kNumberDoubleFlag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kDoubleFlag)
, kNumberAnyFlag = static_cast<int>(kNumberType) | static_cast<int>(kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag)
, kConstStringFlag = static_cast<int>(kStringType) | static_cast<int>(kStringFlag)
,
kCopyStringFlag = static_cast<int>(kStringType) | static_cast<int>(kStringFlag | kCopyFlag)
, kShortStringFlag = static_cast<int>(kStringType) | static_cast<int>(kStringFlag | kCopyFlag | kInlineStrFlag)
, kObjectFlag = kObjectType
, kArrayFlag = kArrayType
,
kTypeMask = 0x07
} |
|
template<typename , typename , typename > |
class | GenericDocument |
|
static const SizeType | kDefaultArrayCapacity = RAPIDJSON_VALUE_DEFAULT_ARRAY_CAPACITY |
|
static const SizeType | kDefaultObjectCapacity = RAPIDJSON_VALUE_DEFAULT_OBJECT_CAPACITY |
|
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 |
|
|
| 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.
|
|
template<typename
Encoding, typename
Allocator = RAPIDJSON_DEFAULT_ALLOCATOR>
class GenericValue< Encoding, Allocator >
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
- Template Parameters
-
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. |