IN2OSM
1.0.1
|
Represents a JSON value. Use Value for UTF8 encoding and default allocator. More...
#include <document.h>
Classes | |
struct | ArrayData |
union | Data |
struct | Flag |
union | Number |
struct | ObjectData |
struct | ShortString |
struct | String |
Public Types | |
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 } |
typedef GenericMember< Encoding, Allocator > | Member |
Name-value pair in an object. More... | |
typedef Encoding | EncodingType |
Encoding type from template parameter. More... | |
typedef Allocator | 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, Allocator >::Iterator | MemberIterator |
Member iterator for iterating in object. More... | |
typedef GenericMemberIterator< true, Encoding, Allocator >::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, Allocator > | 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 |
Public Member Functions | |
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) |
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. More... | |
void | SetStringRaw (StringRefType s) RAPIDJSON_NOEXCEPT |
Initialize this value as constant string, without calling destructor. More... | |
void | SetStringRaw (StringRefType s, Allocator &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... | |
template<typename SourceAllocator > | |
bool | StringEqual (const GenericValue< Encoding, SourceAllocator > &rhs) const |
Assignment operators | |
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... | |
Public Attributes | |
Data | data_ |
Static Public Attributes | |
static const SizeType | kDefaultArrayCapacity = 16 |
static const SizeType | kDefaultObjectCapacity = 16 |
Friends | |
template<typename , typename , typename > | |
class | GenericDocument |
Constructors and destructor. | |
GenericValue () RAPIDJSON_NOEXCEPT | |
Default constructor creates a null value. More... | |
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. 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, Allocator &allocator) | |
Constructor for copy-string (i.e. do make a copy of string) More... | |
GenericValue (const Ch *s, Allocator &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... | |
GenericValue (const GenericValue &rhs) | |
Copy constructor is not permitted. More... | |
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. |
Definition at line 54 of file document.h.
typedef Allocator AllocatorType |
Allocator type from template parameter.
Definition at line 583 of file document.h.
typedef GenericArray<false, ValueType> Array |
Definition at line 591 of file document.h.
typedef Encoding::Ch Ch |
Character type derived from Encoding.
Definition at line 584 of file document.h.
typedef GenericArray<true, ValueType> ConstArray |
Definition at line 592 of file document.h.
typedef GenericMemberIterator<true,Encoding,Allocator>::Iterator ConstMemberIterator |
Constant member iterator for iterating in object.
Definition at line 587 of file document.h.
typedef GenericObject<true, ValueType> ConstObject |
Definition at line 594 of file document.h.
typedef const GenericValue* ConstValueIterator |
Constant value iterator for iterating in array.
Definition at line 589 of file document.h.
typedef Encoding EncodingType |
Encoding type from template parameter.
Definition at line 582 of file document.h.
typedef GenericMember<Encoding, Allocator> Member |
Name-value pair in an object.
Definition at line 581 of file document.h.
typedef GenericMemberIterator<false,Encoding,Allocator>::Iterator MemberIterator |
Member iterator for iterating in object.
Definition at line 586 of file document.h.
typedef GenericObject<false, ValueType> Object |
Definition at line 593 of file document.h.
typedef GenericStringRef<Ch> StringRefType |
Reference to a constant string.
Definition at line 585 of file document.h.
typedef GenericValue* ValueIterator |
Value iterator for iterating in array.
Definition at line 588 of file document.h.
typedef GenericValue<Encoding, Allocator> ValueType |
Value type of itself.
Definition at line 590 of file document.h.
anonymous enum |
Definition at line 1911 of file document.h.
|
inline |
Default constructor creates a null value.
Definition at line 600 of file document.h.
|
private |
Copy constructor is not permitted.
|
inlineexplicit |
Constructor with JSON value type.
This creates a Value of specified type with default content.
type | Type of the value. |
Definition at line 630 of file document.h.
|
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) |
Definition at line 652 of file document.h.
|
inlineexplicit |
Constructor for boolean value.
b | Boolean value |
bool
, if you want to construct a boolean JSON value in such cases. Definition at line 701 of file document.h.
|
inlineexplicit |
Constructor for int value.
Definition at line 712 of file document.h.
|
inlineexplicit |
Constructor for unsigned value.
Definition at line 718 of file document.h.
|
inlineexplicit |
Constructor for int64_t value.
Definition at line 724 of file document.h.
|
inlineexplicit |
Constructor for uint64_t value.
Definition at line 739 of file document.h.
|
inlineexplicit |
Constructor for double value.
Definition at line 751 of file document.h.
|
inlineexplicit |
|
inline |
Constructor for constant string (i.e. do not make a copy of string)
Definition at line 757 of file document.h.
|
inlineexplicit |
Constructor for constant string (i.e. do not make a copy of string)
Definition at line 760 of file document.h.
|
inline |
Constructor for copy-string (i.e. do make a copy of string)
Definition at line 763 of file document.h.
|
inline |
Constructor for copy-string (i.e. do make a copy of string)
Definition at line 766 of file document.h.
|
inline |
Constructor for Array.
a | An array obtained by GetArray() . |
Array
is always pass-by-value. Definition at line 781 of file document.h.
|
inline |
Constructor for Object.
o | An object obtained by GetObject() . |
Object
is always pass-by-value. Definition at line 792 of file document.h.
|
inline |
Destructor.
Need to destruct elements of array, members of object, or copy-string.
Definition at line 800 of file document.h.
|
inline |
Definition at line 2028 of file document.h.
|
inline |
Definition at line 2030 of file document.h.
|
inline |
Definition at line 2026 of file document.h.
|
inline |
Assignment with move semantics.
rhs | Source of the assignment. It will become a null value after assignment. |
Definition at line 836 of file document.h.
|
inline |
Assignment of constant string reference (no copy)
str | Constant string reference to be assigned |
Definition at line 856 of file document.h.
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.
Definition at line 2084 of file document.h.
|
inline |
Definition at line 2034 of file document.h.
|
inline |
Definition at line 2029 of file document.h.
Definition at line 2031 of file document.h.
Initialize this value as object with initial data, without calling destructor.
Definition at line 2047 of file document.h.
Definition at line 2027 of file document.h.
|
inline |
Initialize this value as constant string, without calling destructor.
Definition at line 2060 of file document.h.
|
inline |
Initialize this value as copy string with initial data, without calling destructor.
Definition at line 2067 of file document.h.
|
inline |
Definition at line 2091 of file document.h.
|
friend |
Definition at line 1909 of file document.h.
Data data_ |
Definition at line 2106 of file document.h.
|
static |
Definition at line 1942 of file document.h.
|
static |
Definition at line 1943 of file document.h.