|
enum | {
kBoolFlag = 0x0008,
kNumberFlag = 0x0010,
kIntFlag = 0x0020,
kUintFlag = 0x0040,
kInt64Flag = 0x0080,
kUint64Flag = 0x0100,
kDoubleFlag = 0x0200,
kStringFlag = 0x0400,
kCopyFlag = 0x0800,
kInlineStrFlag = 0x1000,
kRawOutputStrFlag = 0x8000,
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
} |
|
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 |
|
|
template<typename T > |
| 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) |
|
RAPIDJSON_FORCEINLINE Member * | DoAllocMembers (SizeType capacity, Allocator &allocator) |
|
void | DoReserveMembers (SizeType newCapacity, Allocator &allocator) |
|
template<typename SourceAllocator > |
MemberIterator | DoFindMember (const GenericValue< Encoding, SourceAllocator > &name) |
|
void | DoClearMembers () |
|
void | DoFreeMembers () |
|
void | DoAddMember (GenericValue &name, GenericValue &value, Allocator &allocator) |
|
MemberIterator | DoRemoveMember (MemberIterator m) |
|
MemberIterator | DoEraseMembers (ConstMemberIterator first, ConstMemberIterator last) |
|
template<typename SourceAllocator > |
void | DoCopyMembers (const GenericValue< Encoding, SourceAllocator > &rhs, Allocator &allocator, bool copyConstStrings) |
|
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 & | operator= (GenericValue &rhs) RAPIDJSON_NOEXCEPT |
| Assignment with move semantics. More...
|
|
GenericValue & | operator= (StringRefType str) RAPIDJSON_NOEXCEPT |
| Assignment of constant string reference (no copy) More...
|
|
|
| GenericValue () RAPIDJSON_NOEXCEPT |
| Default constructor creates a null value.
|
|
| GenericValue (Type type) RAPIDJSON_NOEXCEPT |
| Constructor with JSON value type. More...
|
|
template<typename SourceAllocator > |
| GenericValue (const GenericValue< Encoding, SourceAllocator > &rhs, Allocator &allocator, bool copyConstStrings=false) |
| Explicit copy constructor (with allocator) More...
|
|
template<typename T > |
| 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.
|
|
| 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. More...
|
|
| GenericValue (Object o) RAPIDJSON_NOEXCEPT |
| Constructor for Object. More...
|
|
| ~GenericValue () |
| Destructor. More...
|
|
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. |