15 #ifndef RAPIDJSON_DOCUMENT_H_ 16 #define RAPIDJSON_DOCUMENT_H_ 30 RAPIDJSON_DIAG_OFF(padded)
31 RAPIDJSON_DIAG_OFF(
switch-
enum)
32 RAPIDJSON_DIAG_OFF(
c++98-compat)
33 #elif defined(_MSC_VER) 34 RAPIDJSON_DIAG_OFF(4127)
35 RAPIDJSON_DIAG_OFF(4244)
39 RAPIDJSON_DIAG_OFF(effc++)
41 RAPIDJSON_DIAG_OFF(terminate)
45 #ifndef RAPIDJSON_NOMEMBERITERATORCLASS 49 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 56 template <
typename Encoding,
typename Allocator>
59 template <
typename Encoding,
typename Allocator,
typename StackAllocator>
68 template <
typename Encoding,
typename Allocator>
77 #ifndef RAPIDJSON_NOMEMBERITERATORCLASS 98 template <
bool Const,
typename Encoding,
typename Allocator>
200 #else // RAPIDJSON_NOMEMBERITERATORCLASS 204 template <
bool Const,
typename Encoding,
typename Allocator>
208 template <
typename Encoding,
typename Allocator>
214 template <
typename Encoding,
typename Allocator>
220 #endif // RAPIDJSON_NOMEMBERITERATORCLASS 252 template<
typename CharType>
257 #ifndef __clang__ // -Wdocumentation 286 #ifndef __clang__ // -Wdocumentation 310 #ifndef __clang__ // -Wdocumentation 324 operator const Ch *()
const {
return s; }
345 template<
typename CharType>
360 template<
typename CharType>
380 template<
typename CharType>
385 #if RAPIDJSON_HAS_STDSTRING 398 template<
typename CharType>
408 template <
typename T,
typename Encoding =
void,
typename Allocator =
void>
413 : IsBaseOf<GenericValue<typename T::EncodingType, typename T::AllocatorType>, T>
::Type {};
425 template <
typename ValueType,
typename T>
428 template<
typename ValueType>
430 static bool Is(
const ValueType& v) {
return v.IsBool(); }
431 static bool Get(
const ValueType& v) {
return v.GetBool(); }
432 static ValueType&
Set(ValueType& v,
bool data) {
return v.SetBool(
data); }
433 static ValueType&
Set(ValueType& v,
bool data,
typename ValueType::AllocatorType&) {
return v.SetBool(
data); }
436 template<
typename ValueType>
438 static bool Is(
const ValueType& v) {
return v.IsInt(); }
439 static int Get(
const ValueType& v) {
return v.GetInt(); }
440 static ValueType&
Set(ValueType& v,
int data) {
return v.SetInt(
data); }
441 static ValueType&
Set(ValueType& v,
int data,
typename ValueType::AllocatorType&) {
return v.SetInt(
data); }
444 template<
typename ValueType>
446 static bool Is(
const ValueType& v) {
return v.IsUint(); }
447 static unsigned Get(
const ValueType& v) {
return v.GetUint(); }
448 static ValueType&
Set(ValueType& v,
unsigned data) {
return v.SetUint(
data); }
449 static ValueType&
Set(ValueType& v,
unsigned data,
typename ValueType::AllocatorType&) {
return v.SetUint(
data); }
454 template<
typename ValueType>
455 struct TypeHelper<ValueType, long> {
456 static bool Is(
const ValueType& v) {
return v.IsInt(); }
457 static long Get(
const ValueType& v) {
return v.GetInt(); }
458 static ValueType& Set(ValueType& v,
long data) {
return v.SetInt(
data); }
459 static ValueType& Set(ValueType& v,
long data,
typename ValueType::AllocatorType&) {
return v.SetInt(
data); }
463 template<
typename ValueType>
464 struct TypeHelper<ValueType, unsigned long> {
465 static bool Is(
const ValueType& v) {
return v.IsUint(); }
466 static unsigned long Get(
const ValueType& v) {
return v.GetUint(); }
467 static ValueType& Set(ValueType& v,
unsigned long data) {
return v.SetUint(
data); }
468 static ValueType& Set(ValueType& v,
unsigned long data,
typename ValueType::AllocatorType&) {
return v.SetUint(
data); }
472 template<
typename ValueType>
474 static bool Is(
const ValueType& v) {
return v.IsInt64(); }
475 static int64_t Get(
const ValueType& v) {
return v.GetInt64(); }
477 static ValueType&
Set(ValueType& v,
int64_t data,
typename ValueType::AllocatorType&) {
return v.SetInt64(
data); }
480 template<
typename ValueType>
482 static bool Is(
const ValueType& v) {
return v.IsUint64(); }
485 static ValueType&
Set(ValueType& v,
uint64_t data,
typename ValueType::AllocatorType&) {
return v.SetUint64(
data); }
488 template<
typename ValueType>
490 static bool Is(
const ValueType& v) {
return v.IsDouble(); }
491 static double Get(
const ValueType& v) {
return v.GetDouble(); }
492 static ValueType&
Set(ValueType& v,
double data) {
return v.SetDouble(
data); }
493 static ValueType&
Set(ValueType& v,
double data,
typename ValueType::AllocatorType&) {
return v.SetDouble(
data); }
496 template<
typename ValueType>
498 static bool Is(
const ValueType& v) {
return v.IsFloat(); }
499 static float Get(
const ValueType& v) {
return v.GetFloat(); }
500 static ValueType&
Set(ValueType& v,
float data) {
return v.SetFloat(
data); }
501 static ValueType&
Set(ValueType& v,
float data,
typename ValueType::AllocatorType&) {
return v.SetFloat(
data); }
504 template<
typename ValueType>
507 static bool Is(
const ValueType& v) {
return v.IsString(); }
509 static ValueType&
Set(ValueType& v,
const StringType data) {
return v.SetString(
typename ValueType::StringRefType(
data)); }
510 static ValueType&
Set(ValueType& v,
const StringType data,
typename ValueType::AllocatorType&
a) {
return v.SetString(
data,
a); }
513 #if RAPIDJSON_HAS_STDSTRING 514 template<
typename ValueType>
515 struct TypeHelper<ValueType,
std::basic_string<typename ValueType::Ch> > {
516 typedef std::basic_string<typename ValueType::Ch> StringType;
517 static bool Is(
const ValueType& v) {
return v.IsString(); }
518 static StringType Get(
const ValueType& v) {
return StringType(v.GetString(), v.GetStringLength()); }
519 static ValueType& Set(ValueType& v,
const StringType&
data,
typename ValueType::AllocatorType&
a) {
return v.SetString(
data,
a); }
523 template<
typename ValueType>
526 static bool Is(
const ValueType& v) {
return v.IsArray(); }
532 template<
typename ValueType>
533 struct TypeHelper<ValueType, typename ValueType::ConstArray> {
535 static bool Is(
const ValueType& v) {
return v.IsArray(); }
539 template<
typename ValueType>
542 static bool Is(
const ValueType& v) {
return v.IsObject(); }
548 template<
typename ValueType>
549 struct TypeHelper<ValueType, typename ValueType::ConstObject> {
551 static bool Is(
const ValueType& v) {
return v.IsObject(); }
574 template <
typename Encoding,
typename Allocator = MemoryPoolAllocator<> >
599 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 610 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 611 template <
typename StackAllocator>
616 template <
typename StackAllocator>
628 static const uint16_t defaultFlags[7] = {
648 template <
typename SourceAllocator>
650 switch (rhs.GetType()) {
678 data_ = *
reinterpret_cast<const Data*
>(&rhs.
data_);
685 data_ = *
reinterpret_cast<const Data*
>(&rhs.
data_);
696 #ifndef RAPIDJSON_DOXYGEN_RUNNING // hide SFINAE from Doxygen 697 template <
typename T>
698 explicit GenericValue(
T b, RAPIDJSON_ENABLEIF((internal::IsSame<bool, T>))) RAPIDJSON_NOEXCEPT
765 #if RAPIDJSON_HAS_STDSTRING 779 a.value_.data_ = Data();
790 o.value_.data_ = Data();
798 if (Allocator::kNeedFree) {
840 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 843 return *
this = rhs.Move();
869 template <
typename T>
883 template <
typename SourceAllocator>
885 RAPIDJSON_ASSERT(static_cast<void*>(
this) != static_cast<void const*>(&rhs));
887 new (
this)
GenericValue(rhs, allocator, copyConstStrings);
900 other.RawAssign(temp);
920 GenericValue& Move() RAPIDJSON_NOEXCEPT {
return *
this; }
930 template <
typename SourceAllocator>
933 if (GetType() != rhs.GetType())
940 for (
ConstMemberIterator lhsMemberItr = MemberBegin(); lhsMemberItr != MemberEnd(); ++lhsMemberItr) {
941 typename RhsType::ConstMemberIterator rhsMemberItr = rhs.FindMember(lhsMemberItr->name);
942 if (rhsMemberItr == rhs.MemberEnd() || lhsMemberItr->value != rhsMemberItr->value)
951 if ((*
this)[
i] != rhs[
i])
959 if (IsDouble() || rhs.IsDouble()) {
960 double a = GetDouble();
961 double b = rhs.GetDouble();
962 return a >=
b &&
a <=
b;
975 #if RAPIDJSON_HAS_STDSTRING 990 template <
typename SourceAllocator>
994 bool operator!=(
const Ch* rhs)
const {
return !(*
this == rhs); }
1031 bool IsLosslessDouble()
const {
1032 if (!IsNumber())
return false;
1035 volatile double d =
static_cast<double>(
u);
1037 && (d < static_cast<double>((std::numeric_limits<uint64_t>::max)()))
1042 volatile double d =
static_cast<double>(
i);
1044 && (
d < static_cast<double>((std::numeric_limits<int64_t>::max)()))
1045 && (
i == static_cast<int64_t>(
d));
1051 bool IsFloat()
const {
1054 double d = GetDouble();
1055 return d >= -3.4028234e38 &&
d <= 3.4028234e38;
1058 bool IsLosslessFloat()
const {
1059 if (!IsNumber())
return false;
1060 double a = GetDouble();
1061 if (
a < static_cast<double>(-(std::numeric_limits<float>::max)())
1062 ||
a > static_cast<double>((std::numeric_limits<float>::max)()))
1064 double b =
static_cast<double>(
static_cast<float>(
a));
1065 return a >=
b &&
a <=
b;
1112 template <
typename T>
1117 template <
typename T>
1129 template <
typename SourceAllocator>
1132 if (member != MemberEnd())
1133 return member->value;
1146 template <
typename SourceAllocator>
1149 #if RAPIDJSON_HAS_STDSTRING 1191 bool HasMember(
const Ch*
name)
const {
return FindMember(
name) != MemberEnd(); }
1193 #if RAPIDJSON_HAS_STDSTRING 1202 bool HasMember(
const std::basic_string<Ch>&
name)
const {
return FindMember(
name) != MemberEnd(); }
1214 template <
typename SourceAllocator>
1231 return FindMember(n);
1249 template <
typename SourceAllocator>
1254 for ( ; member != MemberEnd(); ++member)
1255 if (
name.StringEqual(member->name))
1261 #if RAPIDJSON_HAS_STDSTRING 1288 if (o.size >= o.capacity)
1289 MemberReserve(o.capacity == 0 ?
kDefaultObjectCapacity : (o.capacity + (o.capacity + 1) / 2), allocator);
1291 members[o.size].name.RawAssign(
name);
1292 members[o.size].value.RawAssign(
value);
1308 return AddMember(
name, v, allocator);
1311 #if RAPIDJSON_HAS_STDSTRING 1323 return AddMember(
name, v, allocator);
1344 template <
typename T>
1348 return AddMember(
name, v, allocator);
1351 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 1353 return AddMember(
name,
value, allocator);
1356 return AddMember(
name,
value, allocator);
1359 return AddMember(
name,
value, allocator);
1363 return AddMember(n,
value, allocator);
1365 #endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS 1380 return AddMember(n,
value, allocator);
1394 return AddMember(
name, v, allocator);
1414 template <
typename T>
1418 return AddMember(n,
value, allocator);
1425 void RemoveAllMembers() {
1440 bool RemoveMember(
const Ch*
name) {
1442 return RemoveMember(n);
1445 #if RAPIDJSON_HAS_STDSTRING 1449 template <
typename SourceAllocator>
1452 if (m != MemberEnd()) {
1493 return EraseMember(pos, pos +1);
1516 std::memmove(&*pos, &*last, static_cast<size_t>(MemberEnd() - last) *
sizeof(
Member));
1526 bool EraseMember(
const Ch*
name) {
1528 return EraseMember(n);
1531 #if RAPIDJSON_HAS_STDSTRING 1535 template <
typename SourceAllocator>
1538 if (m != MemberEnd()) {
1637 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 1639 return PushBack(
value, allocator);
1641 #endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS 1653 return (*this).template PushBack<StringRefType>(
value, allocator);
1673 template <
typename T>
1675 PushBack(
T value, Allocator& allocator) {
1677 return PushBack(v, allocator);
1699 return Erase(pos, pos + 1);
1741 double GetDouble()
const {
1753 float GetFloat()
const {
1754 return static_cast<float>(GetDouble());
1819 #if RAPIDJSON_HAS_STDSTRING 1827 GenericValue& SetString(
const std::basic_string<Ch>&
s, Allocator& allocator) {
return SetString(
StringRef(
s), allocator); }
1839 template <
typename T>
1842 template <
typename T>
1845 template <
typename T>
1848 template<
typename T>
1851 template<
typename T>
1863 template <
typename Handler>
1864 bool Accept(Handler& handler)
const {
1868 case kTrueType:
return handler.Bool(
true);
1895 if (IsDouble())
return handler.Double(
data_.
n.
d);
1896 else if (IsInt())
return handler.Int(
data_.
n.
i.
i);
1897 else if (IsUint())
return handler.Uint(
data_.
n.
u.
u);
1898 else if (IsInt64())
return handler.Int64(
data_.
n.
i64);
1899 else return handler.Uint64(
data_.
n.
u64);
1904 template <
typename,
typename>
friend class GenericValue;
1942 #if RAPIDJSON_48BITPOINTER_OPTIMIZATION 1944 #elif RAPIDJSON_64BIT 1977 #if RAPIDJSON_ENDIAN == RAPIDJSON_LITTLEENDIAN 2036 #if defined(__GNUC__) && __GNUC__ >= 8 2037 RAPIDJSON_DIAG_OFF(
class-memaccess)
2054 #if defined(__GNUC__) && __GNUC__ >= 8 2055 RAPIDJSON_DIAG_OFF(
class-memaccess)
2082 str =
static_cast<Ch *
>(allocator.Malloc((
s.length + 1) *
sizeof(
Ch)));
2086 str[
s.length] =
'\0';
2096 template <
typename SourceAllocator>
2101 const SizeType len1 = GetStringLength();
2102 const SizeType len2 = rhs.GetStringLength();
2103 if(len1 != len2) {
return false; }
2105 const Ch*
const str1 = GetString();
2106 const Ch*
const str2 = rhs.GetString();
2109 return (std::memcmp(
str1,
str2,
sizeof(
Ch) * len1) == 0);
2129 template <
typename Encoding,
typename Allocator = MemoryPoolAllocator<>,
typename StackAllocator = CrtAllocator>
2163 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 2166 :
ValueType(std::forward<ValueType>(rhs)),
2173 rhs.ownAllocator_ = 0;
2182 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 2199 rhs.ownAllocator_ = 0;
2244 template <
typename Generator>
2246 ClearStackOnExit scope(*
this);
2264 template <
unsigned parseFlags,
typename SourceEncoding,
typename InputStream>
2268 ClearStackOnExit scope(*
this);
2269 parseResult_ = reader.template Parse<parseFlags>(is, *
this);
2283 template <
unsigned parseFlags,
typename InputStream>
2285 return ParseStream<parseFlags, Encoding, InputStream>(is);
2293 template <
typename InputStream>
2295 return ParseStream<kParseDefaultFlags, Encoding, InputStream>(is);
2307 template <
unsigned parseFlags>
2310 return ParseStream<parseFlags | kParseInsituFlag>(
s);
2318 return ParseInsitu<kParseDefaultFlags>(
str);
2330 template <
unsigned parseFlags,
typename SourceEncoding>
2334 return ParseStream<parseFlags, SourceEncoding>(
s);
2341 template <
unsigned parseFlags>
2343 return Parse<parseFlags, Encoding>(
str);
2350 return Parse<kParseDefaultFlags>(
str);
2353 template <
unsigned parseFlags,
typename SourceEncoding>
2358 ParseStream<parseFlags, SourceEncoding>(is);
2362 template <
unsigned parseFlags>
2364 return Parse<parseFlags, Encoding>(
str, length);
2368 return Parse<kParseDefaultFlags>(
str, length);
2371 #if RAPIDJSON_HAS_STDSTRING 2372 template <
unsigned parseFlags,
typename SourceEncoding>
2375 return Parse<parseFlags, SourceEncoding>(
str.c_str());
2378 template <
unsigned parseFlags>
2380 return Parse<parseFlags, Encoding>(
str.c_str());
2384 return Parse<kParseDefaultFlags>(
str);
2386 #endif // RAPIDJSON_HAS_STDSTRING 2403 #ifndef __clang // -Wdocumentation 2492 if (Allocator::kNeedFree)
2519 template <
bool Const,
typename ValueT>
2531 template <
typename,
typename>
2547 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 2549 #endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS 2556 #if RAPIDJSON_HAS_CXX11_RANGE_FOR 2572 template <
bool Const,
typename ValueT>
2586 template <
typename,
typename>
2598 #if RAPIDJSON_HAS_STDSTRING 2605 #if RAPIDJSON_HAS_STDSTRING 2611 #if RAPIDJSON_HAS_STDSTRING 2616 #if RAPIDJSON_HAS_STDSTRING 2620 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 2625 #endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS 2631 #if RAPIDJSON_HAS_STDSTRING 2639 #if RAPIDJSON_HAS_STDSTRING 2644 #if RAPIDJSON_HAS_CXX11_RANGE_FOR 2658 #endif // RAPIDJSON_DOCUMENT_H_ GenericValue(int i) RAPIDJSON_NOEXCEPT
Constructor for int value.
Definition: document.h:709
GenericMemberIterator()
Default constructor (singular value)
Definition: document.h:135
void SetLength(SizeType len)
Definition: document.h:1971
ValueT PlainType
Definition: document.h:2577
ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) const
Definition: document.h:2554
GenericValue(const Ch *s, SizeType length, Allocator &allocator)
Constructor for copy-string (i.e. do make a copy of string)
Definition: document.h:760
GenericValue< Encoding, Allocator > name
name of member (must be a string)
Definition: document.h:70
GenericArray PushBack(StringRefType value, AllocatorType &allocator) const
Definition: document.h:2550
GenericStringRef< CharType > StringRef(const CharType *str)
Mark a character pointer as constant string.
Definition: document.h:361
GTEST_API_ bool IsTrue(bool condition)
Definition: gtest.cc:4986
struct GenericValue::Number::I i
Iterator operator--(int)
Definition: document.h:161
Flag f
Definition: document.h:2019
static ArrayType Get(const ValueType &v)
Definition: document.h:536
SizeType NotNullStrLen(const CharType *str)
Definition: document.h:330
Definition: document.h:1932
ValueType & operator[](const GenericValue< EncodingType, SourceAllocator > &name) const
Definition: document.h:2597
GenericObject(ValueType &value)
Definition: document.h:2651
static const size_t kDefaultStackCapacity
Definition: document.h:2504
bool EndArray(SizeType elementCount)
Definition: document.h:2479
const uint32_t T[512]
Definition: groestl_tables.h:36
MemberIterator MemberEnd() const
Definition: document.h:2602
RAPIDJSON_FORCEINLINE Member * GetMembersPointer() const
Definition: document.h:2026
Allocator AllocatorType
Allocator type from template parameter.
Definition: document.h:2134
GenericStringRef(const GenericStringRef &rhs)
Definition: document.h:321
MemberIterator FindMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition: document.h:2610
Definition: document.h:1927
GenericValue< Encoding, Allocator > ValueType
Value type of the document.
Definition: document.h:2133
static ValueType & Set(ValueType &v, uint64_t data)
Definition: document.h:484
Definition: document.h:1928
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:389
static ArrayType Get(ValueType &v)
Definition: document.h:527
Definition: document.h:409
Definition: document.h:1967
Represents an in-memory input byte stream.
Definition: memorystream.h:40
MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) const
Definition: document.h:2637
bool String(const Ch *str, SizeType length, bool copy)
Definition: document.h:2459
ValueType * pointer
Definition: document.h:118
int * count
Definition: gmock_stress_test.cc:176
GenericValue(Object o) RAPIDJSON_NOEXCEPT
Constructor for Object.
Definition: document.h:789
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition: rapidjson.h:411
reference Reference
Reference to (const) GenericMember.
Definition: document.h:127
ValueType::EncodingType EncodingType
Definition: document.h:2583
SizeType Capacity() const
Definition: document.h:2539
Definition: document.h:2001
static bool Is(const ValueType &v)
Definition: document.h:490
SizeType MemberCapacity() const
Definition: document.h:2594
bool operator!=(const ipv4_network_address &lhs, const ipv4_network_address &rhs) noexcept
Definition: net_utils_base.h:113
ClearStackOnExit(GenericDocument &d)
Definition: document.h:2429
Definition: document.h:1915
Definition: document.h:1978
#define RAPIDJSON_UINT64_C2(high32, low32)
Construct a 64-bit literal by a pair of 32-bit integer.
Definition: rapidjson.h:294
static ObjectType Get(ValueType &v)
Definition: document.h:543
int i
Definition: pymoduletest.py:23
GenericArray< true, ValueT > ConstArray
Definition: document.h:2522
object
Definition: rapidjson.h:627
Definition: document.h:2428
static bool Get(const ValueType &v)
Definition: document.h:431
Pointer ptr_
raw pointer
Definition: document.h:197
Reference operator*() const
Definition: document.h:185
Helper class for accessing Value of array type.
Definition: document.h:558
~ClearStackOnExit()
Definition: document.h:2430
GenericValue(Type type) RAPIDJSON_NOEXCEPT
Constructor with JSON value type.
Definition: document.h:627
u
Definition: pymoduletest.py:20
Read-only string stream.
Definition: fwd.h:47
friend void swap(GenericDocument &a, GenericDocument &b) RAPIDJSON_NOEXCEPT
free-standing swap function helper
Definition: document.h:2237
ValueType::Array ArrayType
Definition: document.h:525
Definition: document.h:1923
GenericDocument & operator=(const GenericDocument &)
Prohibit assignment.
Definition: document.h:1967
GenericValue(float f) RAPIDJSON_NOEXCEPT
Constructor for float value.
Definition: document.h:751
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(const GenericArray &)) PushBack(T value
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition: rapidjson.h:124
bool operator==(const ipv4_network_address &lhs, const ipv4_network_address &rhs) noexcept
Definition: net_utils_base.h:111
GenericValue< Encoding, Allocator > value
value of member.
Definition: document.h:71
GenericDocument & Populate(Generator &g)
Populate this document by a generator which produces SAX events.
Definition: document.h:2245
static const struct @21 elements[]
const Ch * str
Definition: document.h:1955
(Constant) member iterator for a JSON object value
Definition: document.h:99
const Ch *const s
plain CharType pointer
Definition: document.h:326
array
Definition: rapidjson.h:628
static ValueType & Set(ValueType &v, ObjectType data)
Definition: document.h:544
#define Ch(x, y, z)
Definition: sha512-blocks.c:34
Definition: document.h:1910
bool operator==(ConstIterator that) const
Definition: document.h:175
static ValueType & Set(ValueType &v, ArrayType data)
Definition: document.h:528
static bool Is(const ValueType &v)
Definition: document.h:526
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) AddMember(ValueType &name
GenericMemberIterator Iterator
Iterator type itself.
Definition: document.h:109
int i
Definition: document.h:1979
GenericMemberIterator(Pointer p)
Internal constructor from plain pointer.
Definition: document.h:195
RAPIDJSON_FORCEINLINE GenericValue * SetElementsPointer(GenericValue *elements)
Definition: document.h:2025
GenericDocument & Parse(const Ch *str, size_t length)
Definition: document.h:2367
bool operator<=(ConstIterator that) const
Definition: document.h:177
GenericDocument & Parse(const Ch *str, size_t length)
Definition: document.h:2363
Encoding::Ch Ch
Character type derived from Encoding.
Definition: document.h:2132
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream.
Definition: document.h:2284
GenericObject AddMember(StringRefType name, ValueType &value, AllocatorType &allocator) const
Definition: document.h:2626
ValueType::StringRefType StringRefType
Definition: document.h:2529
internal::Stack< StackAllocator > stack_
Definition: document.h:2507
bool HasMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition: document.h:2608
Represents a JSON value. Use Value for UTF8 encoding and default allocator.
Definition: document.h:57
bool Bool(bool b)
Definition: document.h:2444
GenericArray Reserve(SizeType newCapacity, AllocatorType &allocator) const
Definition: document.h:2545
std::string data
Definition: base58.cpp:37
ValueIterator Erase(ConstValueIterator pos) const
Definition: document.h:2553
bool Empty() const
Definition: document.h:2540
bool RemoveMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition: document.h:2634
#define RAPIDJSON_STATIC_ASSERT(x)
(Internal) macro to check for conditions at compile-time
Definition: rapidjson.h:450
const ValueType::Ch * StringType
Definition: document.h:506
GenericArray PopBack() const
Definition: document.h:2552
int type
Definition: superscalar.cpp:50
std::ptrdiff_t difference_type
Definition: document.h:120
SizeType length
Definition: document.h:1953
static bool Is(const ValueType &v)
Definition: document.h:482
GenericObject MemberReserve(SizeType newCapacity, AllocatorType &allocator) const
Definition: document.h:2603
bool EraseMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition: document.h:2642
Definition: document.h:1926
const char * s
Definition: minissdp.c:596
pointer Pointer
Pointer to (const) GenericMember.
Definition: document.h:125
bool HasMember(const Ch *name) const
Definition: document.h:2604
unsigned short uint16_t
Definition: stdint.h:125
static ValueType & Set(ValueType &v, double data, typename ValueType::AllocatorType &)
Definition: document.h:493
false
Definition: rapidjson.h:625
static bool Is(const ValueType &v)
Definition: document.h:430
ValueType & operator[](SizeType index) const
Definition: document.h:2542
DifferenceType operator-(ConstIterator that) const
Distance.
Definition: document.h:191
static ValueType & Set(ValueType &v, bool data)
Definition: document.h:432
GenericValue(const Ch *s, Allocator &allocator)
Constructor for copy-string (i.e. do make a copy of string)
Definition: document.h:763
static ObjectType Get(const ValueType &v)
Definition: document.h:552
ParseErrorCode Code() const
Get the error code.
Definition: error.h:116
difference_type DifferenceType
Signed integer type (e.g. ptrdiff_t)
Definition: document.h:129
bool HasParseError() const
Whether a parse error has occurred in the last parsing.
Definition: document.h:2394
Definition: document.h:1912
GenericMemberIterator< true, Encoding, Allocator > ConstIterator
Constant iterator type.
Definition: document.h:111
void SetArrayRaw(GenericValue *values, SizeType count, Allocator &allocator)
Definition: document.h:2030
Definition: document.h:1929
Definition: document.h:1935
static ValueType & Set(ValueType &v, ArrayType data, typename ValueType::AllocatorType &)
Definition: document.h:529
Result of parsing (wraps ParseErrorCode)
Definition: error.h:106
const char * str2
Definition: testupnpdescgen.c:132
bool operator<(ConstIterator that) const
Definition: document.h:179
Definition: document.h:1908
const GenericValue * ConstValueIterator
Constant value iterator for iterating in array.
Definition: document.h:586
Encoding EncodingType
Encoding type from template parameter.
Definition: document.h:579
void Clear()
Definition: stack.h:98
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream (with kParseDefaultFlags)
Definition: document.h:2294
void copy(key &AA, const key &A)
Definition: rctOps.h:79
SizeType capacity
Definition: document.h:2003
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition: rapidjson.h:121
ValueIterator End() const
Definition: document.h:2544
ValueType::ConstObject ObjectType
Definition: document.h:550
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition: document.h:105
static unsigned Get(const ValueType &v)
Definition: document.h:447
SizeType size
Definition: document.h:2008
MemberIterator FindMember(const Ch *name) const
Definition: document.h:2609
GenericArray(const GenericArray &rhs)
Definition: document.h:2534
bool StartObject()
Definition: document.h:2467
ValueType::StringRefType StringRefType
Definition: document.h:2582
bool StartArray()
Definition: document.h:2477
size_t GetErrorOffset() const
Get the position of last parsing error in input, 0 otherwise.
Definition: document.h:2400
GenericMember< Encoding, Allocator > Member
Name-value pair in an object.
Definition: document.h:578
A document for parsing JSON text as DOM.
Definition: document.h:60
void RemoveAllMembers()
Definition: document.h:2629
static bool Is(const ValueType &v)
Definition: document.h:438
ShortString ss
Definition: document.h:2015
A read-write string stream.
Definition: fwd.h:52
GenericArray & operator=(const GenericArray &rhs)
Definition: document.h:2535
GenericValue(int64_t i64) RAPIDJSON_NOEXCEPT
Constructor for int64_t value.
Definition: document.h:721
~GenericDocument()
Definition: document.h:2178
Definition: document.h:2013
Ch str[MaxChars]
Definition: document.h:1968
RAPIDJSON_FORCEINLINE const Ch * GetStringPointer() const
Definition: document.h:2022
const char * str1
Definition: testupnpdescgen.c:131
ClearStackOnExit & operator=(const ClearStackOnExit &)
GenericValue(const Ch *s, SizeType length) RAPIDJSON_NOEXCEPT
Constructor for constant string (i.e. do not make a copy of string)
Definition: document.h:754
GenericDocument(Type type, Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0)
Constructor.
Definition: document.h:2143
e
Definition: pymoduletest.py:79
static ValueType & Set(ValueType &v, double data)
Definition: document.h:492
Iterator & operator--()
Definition: document.h:159
Definition: document.h:1914
GenericMemberIterator< true, typename ValueT::EncodingType, typename ValueT::AllocatorType > ConstMemberIterator
Definition: document.h:2580
Allocator AllocatorType
Allocator type from template parameter.
Definition: document.h:580
#define RAPIDJSON_NEW(TypeName)
! customization point for global new
Definition: rapidjson.h:606
ValueT PlainType
Definition: document.h:2524
first
Definition: compare.py:8
GenericDocument(Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0)
Constructor.
Definition: document.h:2156
GenericValue(T b, RAPIDJSON_ENABLEIF((internal::IsSame< bool, T >))) RAPIDJSON_NOEXCEPT
Constructor for boolean value.
Definition: document.h:698
bool EndObject(SizeType memberCount)
Definition: document.h:2471
T value
Definition: document.h:2619
ObjectData o
Definition: document.h:2017
string
Definition: rapidjson.h:629
Allocator * ownAllocator_
Definition: document.h:2506
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
Definition: fwd.h:88
GenericArray(ValueType &value)
Definition: document.h:2563
Encoding::Ch Ch
Character type derived from Encoding.
Definition: document.h:581
GenericStringRef(const CharType *str)
Explicitly create string reference from const character pointer.
Definition: document.h:306
Number n
Definition: document.h:2016
Iterator operator-(DifferenceType n) const
Definition: document.h:167
bool EraseMember(const Ch *name) const
Definition: document.h:2638
const T buffer
Definition: byte_slice.cpp:83
char padding[4]
Definition: document.h:1980
ParseResult parseResult_
Definition: document.h:2508
static ValueType & Set(ValueType &v, ObjectType data, typename ValueType::AllocatorType &)
Definition: document.h:545
static bool Is(const ValueType &v)
Definition: document.h:474
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2116
bool Double(double d)
Definition: document.h:2449
bool Null()
Definition: document.h:2443
double d
Definition: document.h:1998
static StringType Get(const ValueType &v)
Definition: document.h:508
bool operator!=(ConstIterator that) const
Definition: document.h:176
static ValueType & Set(ValueType &v, float data, typename ValueType::AllocatorType &)
Definition: document.h:501
GenericMemberIterator< true, Encoding, Allocator >::Iterator ConstMemberIterator
Constant member iterator for iterating in object.
Definition: document.h:584
ParseErrorCode
Error code of parsing.
Definition: error.h:64
bool RawNumber(const Ch *str, SizeType length, bool copy)
Definition: document.h:2451
size_t GetCapacity() const
Definition: stack.h:178
static bool Is(const ValueType &v)
Definition: document.h:551
Helper class for accessing Value of object type.
Definition: document.h:559
Definition: document.h:1921
bool operator>=(ConstIterator that) const
Definition: document.h:178
GenericObject< true, ValueT > ConstObject
Definition: document.h:2575
static ValueType & Set(ValueType &v, float data)
Definition: document.h:500
Iterator & operator++()
Definition: document.h:158
RAPIDJSON_FORCEINLINE const Ch * SetStringPointer(const Ch *str)
Definition: document.h:2023
char padding2[4]
Definition: document.h:1984
GenericDocument & ParseInsitu(Ch *str)
Parse JSON text from a mutable string.
Definition: document.h:2308
GenericStringRef(const CharType(&str)[N]) RAPIDJSON_NOEXCEPT
Create string reference from const character array.
Definition: document.h:282
GenericStringRef< Ch > StringRefType
Reference to a constant string.
Definition: document.h:582
bool Int(int i)
Definition: document.h:2445
Definition: document.h:1930
int
Definition: pymoduletest.py:17
#define min(a, b)
Definition: oaes_lib.c:78
GenericObject(const GenericObject &rhs)
Definition: document.h:2589
unsigned __int64 uint64_t
Definition: stdint.h:136
ValueType::AllocatorType AllocatorType
Definition: document.h:2581
Allocator & GetAllocator()
Get the allocator of this document.
Definition: document.h:2418
SizeType size
Definition: document.h:2002
static bool Usable(SizeType len)
Definition: document.h:1970
GenericDocument< UTF8<> > Document
GenericDocument with UTF8 encoding.
Definition: document.h:2512
Iterator operator++(int)
Definition: document.h:160
static bool Is(const ValueType &v)
Definition: document.h:535
Definition: document.h:1924
GenericArray< false, ValueType > Array
Definition: document.h:588
GenericValue< Encoding, Allocator > ValueType
Value type of itself.
Definition: document.h:587
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition: document.h:2578
size_t GetSize() const
Definition: stack.h:177
const SizeType length
length of the string (excluding the trailing NULL terminator)
Definition: document.h:327
number
Definition: rapidjson.h:630
const ValueT * ConstValueIterator
Definition: document.h:2527
static bool Is(const ValueType &v)
Definition: document.h:542
Name-value pair in a JSON object value.
Definition: document.h:69
#define false
Definition: stdbool.h:37
bool Int64(int64_t i)
Definition: document.h:2447
ValueType * ValueIterator
Definition: document.h:2526
SizeType hashcode
reserved
Definition: document.h:1954
Iterator & operator+=(DifferenceType n)
Definition: document.h:169
Definition: document.h:1967
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header.
Definition: swap.h:33
GenericArray< true, ValueType > ConstArray
Definition: document.h:589
#define RAPIDJSON_DELETE(x)
! customization point for global delete
Definition: rapidjson.h:610
Member * members
Definition: document.h:2004
GenericDocument & Parse(const typename SourceEncoding::Ch *str)
Parse JSON text from a read-only string (with Encoding conversion)
Definition: document.h:2331
String s
Definition: document.h:2014
static ValueType & Set(ValueType &v, unsigned data)
Definition: document.h:448
~GenericValue()
Destructor.
Definition: document.h:797
static int Get(const ValueType &v)
Definition: document.h:439
ArrayData a
Definition: document.h:2018
GenericDocument & ParseInsitu(Ch *str)
Parse JSON text from a mutable string (with kParseDefaultFlags)
Definition: document.h:2317
size_t GetStackCapacity() const
Get the capacity of stack in bytes.
Definition: document.h:2424
PolymorphicMatcher< internal::IsNullMatcher > IsNull()
Definition: gmock-matchers.h:3795
ValueIterator Begin() const
Definition: document.h:2543
GenericObject< false, ValueT > Object
Definition: document.h:2576
Definition: document.h:2007
#define RAPIDJSON_SETPOINTER(type, p, x)
Definition: rapidjson.h:323
static ValueType & Set(ValueType &v, unsigned data, typename ValueType::AllocatorType &)
Definition: document.h:449
Definition: document.h:1976
~GenericObject()
Definition: document.h:2591
void SetObjectRaw(Member *members, SizeType count, Allocator &allocator)
Initialize this value as object with initial data, without calling destructor.
Definition: document.h:2048
bool operator>(ConstIterator that) const
Definition: document.h:180
Allocator & GetAllocator()
Definition: stack.h:171
CharType Ch
character type of the string
Definition: document.h:254
#define RAPIDJSON_LIKELY(x)
Compiler branching hint for expression with high probability to be true.
Definition: rapidjson.h:468
Data data_
Definition: document.h:2112
Definition: document.h:1966
static bool Is(const ValueType &v)
Definition: document.h:498
Definition: document.h:1931
RAPIDJSON_FORCEINLINE Member * SetMembersPointer(Member *members)
Definition: document.h:2027
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
const char *const str
Definition: portlistingparse.c:23
Definition: document.h:406
std::random_access_iterator_tag iterator_category
Definition: document.h:121
RAPIDJSON_FORCEINLINE GenericValue * GetElementsPointer() const
Definition: document.h:2024
ParseErrorCode GetParseError() const
Get the ParseErrorCode of last parsing.
Definition: document.h:2397
GenericStringRef< CharType > StringRef(const CharType *str)
Mark a character pointer as constant string.
Definition: document.h:361
GenericMember< Encoding, Allocator > PlainType
Definition: document.h:104
const T & move(const T &t)
Definition: gtest-port.h:1317
void ShrinkToFit()
Definition: stack.h:100
SizeType MemberCount() const
Definition: document.h:2593
GenericMemberIterator< false, Encoding, Allocator >::Iterator MemberIterator
Member iterator for iterating in object.
Definition: document.h:583
Iterator & operator=(const NonConstIterator &it)
Definition: document.h:154
Pointer operator->() const
Definition: document.h:186
uint64_t u64
Definition: document.h:1997
Definition: document.h:1916
static bool Is(const ValueType &v)
Definition: document.h:507
GenericStringRef & operator=(const GenericStringRef &rhs)
Copy assignment operator not permitted - immutable type.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
void * memcpy(void *a, const void *b, size_t c)
Definition: glibc_compat.cpp:16
SizeType Size() const
Definition: document.h:2538
Definition: document.h:1952
SizeType capacity
Definition: document.h:2009
void SetStringRaw(StringRefType s, Allocator &allocator)
Initialize this value as copy string with initial data, without calling destructor.
Definition: document.h:2073
bool IsError() const
Whether the result is an error.
Definition: error.h:123
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition: document.h:2525
GenericDocument & Parse(const typename SourceEncoding::Ch *str, size_t length)
Definition: document.h:2354
static int64_t Get(const ValueType &v)
Definition: document.h:475
ValueType::AllocatorType AllocatorType
Definition: document.h:2528
GenericObject< true, ValueType > ConstObject
Definition: document.h:591
signed __int64 int64_t
Definition: stdint.h:135
Definition: document.h:1913
Definition: document.h:1922
void SetStringRaw(StringRefType s) RAPIDJSON_NOEXCEPT
Initialize this value as constant string, without calling destructor.
Definition: document.h:2066
GenericValue(unsigned u) RAPIDJSON_NOEXCEPT
Constructor for unsigned value.
Definition: document.h:715
static ValueType & Set(ValueType &v, int64_t data)
Definition: document.h:476
int bool
Definition: stdbool.h:35
MemberIterator MemberBegin() const
Definition: document.h:2601
~GenericArray()
Definition: document.h:2536
#define RAPIDJSON_GETPOINTER(type, p)
Definition: rapidjson.h:324
GenericValue(uint64_t u64) RAPIDJSON_NOEXCEPT
Constructor for uint64_t value.
Definition: document.h:736
GenericValue * ValueIterator
Value iterator for iterating in array.
Definition: document.h:585
d
Definition: pymoduletest.py:79
ValueType::ConstArray ArrayType
Definition: document.h:534
GenericValue(StringRefType s) RAPIDJSON_NOEXCEPT
Constructor for constant string (i.e. do not make a copy of string)
Definition: document.h:757
Definition: document.h:1982
static const SizeType kDefaultObjectCapacity
Definition: document.h:1939
p
Definition: pymoduletest.py:75
GenericObject< false, ValueType > Object
Definition: document.h:590
bool Uint64(uint64_t i)
Definition: document.h:2448
GenericDocument & d_
Definition: document.h:2434
GenericDocument & Parse(const Ch *str)
Parse JSON text from a read-only string.
Definition: document.h:2342
true
Definition: rapidjson.h:626
unsigned u
Definition: document.h:1983
Definition: document.h:1925
static const Ch emptyString[]
Empty string - used when passing in a NULL pointer.
Definition: document.h:336
static const SizeType kDefaultArrayCapacity
Definition: document.h:1938
bool ObjectEmpty() const
Definition: document.h:2595
ValueType::Ch Ch
Definition: document.h:2584
static float Get(const ValueType &v)
Definition: document.h:499
bool Uint(unsigned i)
Definition: document.h:2446
MemberIterator EraseMember(ConstMemberIterator pos) const
Definition: document.h:2636
SizeType StrLen(const Ch *s)
Custom strlen() which works on different character types.
Definition: strfunc.h:31
static ValueType & Set(ValueType &v, const StringType data)
Definition: document.h:509
Definition: document.h:426
Reference to a constant string (not taking a copy)
Definition: document.h:253
Definition: document.h:416
void ClearStack()
Definition: document.h:2491
Reference operator[](DifferenceType n) const
Definition: document.h:187
Definition: document.h:1917
GenericObject AddMember(ValueType &name, ValueType &value, AllocatorType &allocator) const
Definition: document.h:2614
GenericMemberIterator< false, Encoding, Allocator > NonConstIterator
Non-constant iterator type.
Definition: document.h:113
MemberIterator RemoveMember(MemberIterator m) const
Definition: document.h:2635
GenericMemberIterator(const NonConstIterator &it)
Iterator conversions to more const.
Definition: document.h:153
static ValueType & Set(ValueType &v, int data)
Definition: document.h:440
GenericValue() RAPIDJSON_NOEXCEPT
Default constructor creates a null value.
Definition: document.h:597
static double Get(const ValueType &v)
Definition: document.h:491
const char * name
Definition: options.c:30
uint16_t flags
Definition: document.h:1949
Definition: document.h:1911
int64_t i64
Definition: document.h:1996
GenericValue(double d) RAPIDJSON_NOEXCEPT
Constructor for double value.
Definition: document.h:748
ValueType & reference
Definition: document.h:119
Iterator operator+(DifferenceType n) const
Definition: document.h:166
Allocator * allocator_
Definition: document.h:2505
GenericArray< false, ValueT > Array
Definition: document.h:2523
Type
Type of JSON value.
Definition: rapidjson.h:623
void * memmove(void *a, const void *b, size_t c)
GenericArray PushBack(ValueType &value, AllocatorType &allocator) const
Definition: document.h:2546
GenericValue & operator=(StringRefType str) RAPIDJSON_NOEXCEPT
Assignment of constant string reference (no copy)
Definition: document.h:852
ValueType & value_
Definition: document.h:2652
char payload[sizeof(SizeType) *2+sizeof(void *)+2]
Definition: document.h:1947
GenericDocument & Parse(const Ch *str)
Parse JSON text from a read-only string (with kParseDefaultFlags)
Definition: document.h:2349
#define const
Definition: ipfrdr.c:80
GenericStringRef(const CharType *str, SizeType len)
Create constant string reference from pointer and length.
Definition: document.h:318
void RawAssign(GenericValue &rhs) RAPIDJSON_NOEXCEPT
Assignment without calling destructor.
Definition: document.h:2090
#define RAPIDJSON_UNLIKELY(x)
Compiler branching hint for expression with low probability to be true.
Definition: rapidjson.h:481
GenericObject & operator=(const GenericObject &rhs)
Definition: document.h:2590
GenericDocument & Swap(GenericDocument &rhs) RAPIDJSON_NOEXCEPT
Exchange the contents of this document with those of another.
Definition: document.h:2212
Definition: document.h:1941
static ValueType & Set(ValueType &v, uint64_t data, typename ValueType::AllocatorType &)
Definition: document.h:485
ValueType::Object ObjectType
Definition: document.h:541
ValueType & value_
Definition: document.h:2564
bool StringEqual(const GenericValue< Encoding, SourceAllocator > &rhs) const
Definition: document.h:2097
bool HasAllocator() const
Definition: stack.h:167
SizeType GetLength() const
Definition: document.h:1972
Definition: document.h:1933
#define true
Definition: stdbool.h:36
GenericValue(const GenericValue< Encoding, SourceAllocator > &rhs, Allocator &allocator, bool copyConstStrings=false)
Explicit copy constructor (with allocator)
Definition: document.h:649
bool RemoveMember(const Ch *name) const
Definition: document.h:2630
GenericValue * elements
Definition: document.h:2010
void Clear() const
Definition: document.h:2541
Definition: document.h:1909
GenericValue & operator=(GenericValue &rhs) RAPIDJSON_NOEXCEPT
Assignment with move semantics.
Definition: document.h:833
static ValueType & Set(ValueType &v, int data, typename ValueType::AllocatorType &)
Definition: document.h:441
struct GenericValue::Number::U u
static ValueType & Set(ValueType &v, int64_t data, typename ValueType::AllocatorType &)
Definition: document.h:477
c
Definition: pymoduletest.py:79
In-situ(destructive) parsing.
Definition: reader.h:147
static bool Is(const ValueType &v)
Definition: document.h:446
void Destroy()
Definition: document.h:2500
ValueType & operator[](T *name) const
Definition: document.h:2596
Iterator & operator-=(DifferenceType n)
Definition: document.h:170
cryptonote::block b
Definition: block.cpp:40
static uint64_t Get(const ValueType &v)
Definition: document.h:483
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream (with Encoding conversion)
Definition: document.h:2265
static ValueType & Set(ValueType &v, const StringType data, typename ValueType::AllocatorType &a)
Definition: document.h:510
null
Definition: rapidjson.h:624
ValueType value_type
Definition: document.h:117
Definition: blockchain_usage.cpp:71
GenericMemberIterator< Const, typename ValueT::EncodingType, typename ValueT::AllocatorType > MemberIterator
Definition: document.h:2579
void Swap(Stack &rhs) RAPIDJSON_NOEXCEPT
Definition: stack.h:89
Definition: document.h:1920
static ValueType & Set(ValueType &v, bool data, typename ValueType::AllocatorType &)
Definition: document.h:433
GenericObject AddMember(StringRefType name, StringRefType value, AllocatorType &allocator) const
Definition: document.h:2627
RAPIDJSON_DISABLEIF_RETURN((internal::IsPointer< T >),(GenericValue &)) operator
Assignment with primitive types.
size_t Offset() const
Get the error offset, if IsError(), 0 otherwise.
Definition: error.h:118
bool Key(const Ch *str, SizeType length, bool copy)
Definition: document.h:2469
GenericValue(Array a) RAPIDJSON_NOEXCEPT
Constructor for Array.
Definition: document.h:778
GenericObject AddMember(ValueType &name, StringRefType value, AllocatorType &allocator) const
Definition: document.h:2615