15#ifndef RAPIDJSON_DOCUMENT_H_
16#define RAPIDJSON_DOCUMENT_H_
30RAPIDJSON_DIAG_OFF(padded)
31RAPIDJSON_DIAG_OFF(
switch-
enum)
32RAPIDJSON_DIAG_OFF(c++98-compat)
33#elif defined(_MSC_VER)
34RAPIDJSON_DIAG_OFF(4127)
35RAPIDJSON_DIAG_OFF(4244)
39RAPIDJSON_DIAG_OFF(effc++)
41RAPIDJSON_DIAG_OFF(terminate)
45#ifndef RAPIDJSON_NOMEMBERITERATORCLASS
49#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
56template <
typename Encoding,
typename Allocator>
59template <
typename Encoding,
typename Allocator,
typename StackAllocator>
68template <
typename Encoding,
typename Allocator>
77#ifndef RAPIDJSON_NOMEMBERITERATORCLASS
98template <
bool Const,
typename Encoding,
typename Allocator>
105 typedef typename internal::MaybeAddConst<Const,PlainType>::Type
ValueType;
204template <
bool Const,
typename Encoding,
typename Allocator>
208template <
typename Encoding,
typename Allocator>
214template <
typename Encoding,
typename Allocator>
252template<
typename CharType>
324 operator const Ch *()
const {
return s; }
345template<
typename CharType>
360template<
typename CharType>
380template<
typename CharType>
385#if RAPIDJSON_HAS_STDSTRING
398template<
typename CharType>
408template <
typename T,
typename Encoding =
void,
typename Allocator =
void>
413 : IsBaseOf<GenericValue<typename T::EncodingType, typename T::AllocatorType>, T>
::Type {};
425template <
typename ValueType,
typename T>
428template<
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); }
436template<
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); }
444template<
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); }
454template<
typename ValueType>
455struct 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); }
463template<
typename ValueType>
464struct 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); }
472template<
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); }
480template<
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); }
488template<
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); }
496template<
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); }
504template<
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
514template<
typename ValueType>
515struct 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); }
523template<
typename ValueType>
526 static bool Is(
const ValueType& v) {
return v.IsArray(); }
532template<
typename ValueType>
533struct TypeHelper<ValueType, typename ValueType::ConstArray> {
535 static bool Is(
const ValueType& v) {
return v.IsArray(); }
539template<
typename ValueType>
542 static bool Is(
const ValueType& v) {
return v.IsObject(); }
548template<
typename ValueType>
549struct TypeHelper<ValueType, typename ValueType::ConstObject> {
551 static bool Is(
const ValueType& v) {
return v.IsObject(); }
574template <
typename Encoding,
typename Allocator = MemoryPoolAllocator<> >
581 typedef typename Encoding::Ch
Ch;
599#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
610#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
612 template <
typename StackAllocator>
616 template <
typename StackAllocator>
628 static const uint16_t defaultFlags[7] = {
648 template <
typename SourceAllocator>
650 switch (rhs.GetType()) {
669 new (&le[i])
GenericValue(re[i], allocator, copyConstStrings);
696#ifndef RAPIDJSON_DOXYGEN_RUNNING
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>
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);
1043 return (
d >=
static_cast<double>((std::numeric_limits<int64_t>::min)()))
1044 && (
d <
static_cast<double>((std::numeric_limits<int64_t>::max)()))
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);
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);
1653 return (*this).template PushBack<StringRefType>(
value, allocator);
1673 template <
typename T>
1677 return PushBack(v, allocator);
1699 return Erase(pos, pos + 1);
1720 std::memmove(pos, last,
static_cast<size_t>(End() - last) *
sizeof(
GenericValue));
1741 double GetDouble()
const {
1753 float GetFloat()
const {
1754 return static_cast<float>(GetDouble());
1819#if RAPIDJSON_HAS_STDSTRING
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
2037RAPIDJSON_DIAG_OFF(
class-memaccess)
2054#if defined(__GNUC__) && __GNUC__ >= 8
2055RAPIDJSON_DIAG_OFF(
class-memaccess)
2082 str =
static_cast<Ch *
>(allocator.Malloc((
s.length + 1) *
sizeof(
Ch)));
2085 std::memcpy(
str,
s,
s.length *
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);
2129template <
typename Encoding,
typename Allocator = MemoryPoolAllocator<>,
typename StackAllocator = CrtAllocator>
2132 typedef typename Encoding::Ch
Ch;
2163#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
2166 :
ValueType(std::forward<ValueType>(rhs)),
2169 stack_(std::move(rhs.stack_)),
2173 rhs.ownAllocator_ = 0;
2182#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
2195 stack_ = std::move(rhs.stack_);
2199 rhs.ownAllocator_ = 0;
2213 ValueType::Swap(rhs);
2223 using ValueType::Swap;
2244 template <
typename Generator>
2264 template <
unsigned parseFlags,
typename SourceEncoding,
typename InputStream>
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>
2356 MemoryStream ms(
reinterpret_cast<const char*
>(
str), length *
sizeof(
typename SourceEncoding::Ch));
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);
2473 stack_.template Top<ValueType>()->SetObjectRaw(members, memberCount,
GetAllocator());
2492 if (Allocator::kNeedFree)
2519template <
bool Const,
typename ValueT>
2525 typedef typename internal::MaybeAddConst<Const,PlainType>::Type
ValueType;
2531 template <
typename,
typename>
2547#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
2556#if RAPIDJSON_HAS_CXX11_RANGE_FOR
2572template <
bool Const,
typename ValueT>
2578 typedef typename internal::MaybeAddConst<Const,PlainType>::Type
ValueType;
2584 typedef typename ValueType::Ch
Ch;
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
2631#if RAPIDJSON_HAS_STDSTRING
2639#if RAPIDJSON_HAS_STDSTRING
2644#if RAPIDJSON_HAS_CXX11_RANGE_FOR
#define s(x, c)
Definition aesb.c:47
cryptonote::block b
Definition block.cpp:40
const T buffer
Definition byte_slice.cpp:83
Helper class for accessing Value of array type.
Definition document.h:2520
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(const GenericArray &)) PushBack(T value
const ValueT * ConstValueIterator
Definition document.h:2527
GenericArray PushBack(ValueType &value, AllocatorType &allocator) const
Definition document.h:2546
ValueIterator End() const
Definition document.h:2544
ValueIterator Begin() const
Definition document.h:2543
void Clear() const
Definition document.h:2541
SizeType Size() const
Definition document.h:2538
GenericArray< false, ValueT > Array
Definition document.h:2523
GenericArray Reserve(SizeType newCapacity, AllocatorType &allocator) const
Definition document.h:2545
GenericArray & operator=(const GenericArray &rhs)
Definition document.h:2535
GenericArray< true, ValueT > ConstArray
Definition document.h:2522
ValueType::StringRefType StringRefType
Definition document.h:2529
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition document.h:2525
~GenericArray()
Definition document.h:2536
GenericArray(const GenericArray &rhs)
Definition document.h:2534
SizeType Capacity() const
Definition document.h:2539
ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) const
Definition document.h:2554
GenericArray PushBack(StringRefType value, AllocatorType &allocator) const
Definition document.h:2550
ValueT PlainType
Definition document.h:2524
ValueIterator Erase(ConstValueIterator pos) const
Definition document.h:2553
GenericArray(ValueType &value)
Definition document.h:2563
bool Empty() const
Definition document.h:2540
ValueType::AllocatorType AllocatorType
Definition document.h:2528
ValueType & value_
Definition document.h:2564
ValueType & operator[](SizeType index) const
Definition document.h:2542
ValueType * ValueIterator
Definition document.h:2526
GenericArray PopBack() const
Definition document.h:2552
A document for parsing JSON text as DOM.
Definition document.h:2130
friend void swap(GenericDocument &a, GenericDocument &b) RAPIDJSON_NOEXCEPT
free-standing swap function helper
Definition document.h:2237
Allocator & GetAllocator()
Get the allocator of this document.
Definition document.h:2418
GenericDocument & ParseInsitu(Ch *str)
Parse JSON text from a mutable string.
Definition document.h:2308
bool EndArray(SizeType elementCount)
Definition document.h:2479
GenericDocument & Swap(GenericDocument &rhs) RAPIDJSON_NOEXCEPT
Exchange the contents of this document with those of another.
Definition document.h:2212
Allocator AllocatorType
Allocator type from template parameter.
Definition document.h:2134
GenericDocument & Parse(const Ch *str)
Parse JSON text from a read-only string.
Definition document.h:2342
GenericDocument(Type type, Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0)
Constructor.
Definition document.h:2143
GenericDocument & Parse(const Ch *str, size_t length)
Definition document.h:2363
bool EndObject(SizeType memberCount)
Definition document.h:2471
ParseResult parseResult_
Definition document.h:2508
bool Bool(bool b)
Definition document.h:2444
bool Uint64(uint64_t i)
Definition document.h:2448
bool HasParseError() const
Whether a parse error has occurred in the last parsing.
Definition document.h:2394
bool Uint(unsigned i)
Definition document.h:2446
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream.
Definition document.h:2284
GenericDocument(const GenericDocument &)
Prohibit copying.
bool Key(const Ch *str, SizeType length, bool copy)
Definition document.h:2469
GenericDocument(Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity, StackAllocator *stackAllocator=0)
Constructor.
Definition document.h:2156
Encoding::Ch Ch
Character type derived from Encoding.
Definition document.h:2132
GenericDocument & operator=(const GenericDocument &)
Prohibit assignment.
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream (with kParseDefaultFlags)
Definition document.h:2294
GenericDocument & Parse(const Ch *str, size_t length)
Definition document.h:2367
GenericDocument & ParseStream(InputStream &is)
Parse JSON text from an input stream (with Encoding conversion)
Definition document.h:2265
bool Null()
Definition document.h:2443
GenericValue< Encoding, Allocator > ValueType
Value type of the document.
Definition document.h:2133
bool Int(int i)
Definition document.h:2445
GenericDocument & Parse(const typename SourceEncoding::Ch *str)
Parse JSON text from a read-only string (with Encoding conversion)
Definition document.h:2331
static const size_t kDefaultStackCapacity
Definition document.h:2504
bool Int64(int64_t i)
Definition document.h:2447
bool Double(double d)
Definition document.h:2449
ParseErrorCode GetParseError() const
Get the ParseErrorCode of last parsing.
Definition document.h:2397
Allocator * allocator_
Definition document.h:2505
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
void ClearStack()
Definition document.h:2491
~GenericDocument()
Definition document.h:2178
bool StartObject()
Definition document.h:2467
GenericDocument & Populate(Generator &g)
Populate this document by a generator which produces SAX events.
Definition document.h:2245
internal::Stack< StackAllocator > stack_
Definition document.h:2507
bool String(const Ch *str, SizeType length, bool copy)
Definition document.h:2459
void Destroy()
Definition document.h:2500
Allocator * ownAllocator_
Definition document.h:2506
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
GenericDocument & Parse(const typename SourceEncoding::Ch *str, size_t length)
Definition document.h:2354
bool RawNumber(const Ch *str, SizeType length, bool copy)
Definition document.h:2451
GenericDocument & Parse(const Ch *str)
Parse JSON text from a read-only string (with kParseDefaultFlags)
Definition document.h:2349
(Constant) member iterator for a JSON object value
Definition document.h:99
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition document.h:105
ValueType & reference
Definition document.h:119
bool operator==(ConstIterator that) const
Definition document.h:175
GenericMemberIterator(const NonConstIterator &it)
Iterator conversions to more const.
Definition document.h:153
GenericMemberIterator()
Default constructor (singular value)
Definition document.h:135
bool operator!=(ConstIterator that) const
Definition document.h:176
Iterator & operator=(const NonConstIterator &it)
Definition document.h:154
Iterator operator-(DifferenceType n) const
Definition document.h:167
std::random_access_iterator_tag iterator_category
Definition document.h:121
Iterator & operator++()
Definition document.h:158
Reference operator[](DifferenceType n) const
Definition document.h:187
Iterator operator--(int)
Definition document.h:161
Iterator operator+(DifferenceType n) const
Definition document.h:166
Reference operator*() const
Definition document.h:185
bool operator<=(ConstIterator that) const
Definition document.h:177
Iterator & operator+=(DifferenceType n)
Definition document.h:169
GenericMemberIterator(Pointer p)
Internal constructor from plain pointer.
Definition document.h:195
ValueType value_type
Definition document.h:117
ValueType * pointer
Definition document.h:118
bool operator>=(ConstIterator that) const
Definition document.h:178
reference Reference
Reference to (const) GenericMember.
Definition document.h:127
Iterator operator++(int)
Definition document.h:160
Pointer ptr_
raw pointer
Definition document.h:197
Iterator & operator-=(DifferenceType n)
Definition document.h:170
difference_type DifferenceType
Signed integer type (e.g. ptrdiff_t)
Definition document.h:129
GenericMemberIterator< false, Encoding, Allocator > NonConstIterator
Non-constant iterator type.
Definition document.h:113
Pointer operator->() const
Definition document.h:186
pointer Pointer
Pointer to (const) GenericMember.
Definition document.h:125
GenericMember< Encoding, Allocator > PlainType
Definition document.h:104
bool operator<(ConstIterator that) const
Definition document.h:179
GenericMemberIterator Iterator
Iterator type itself.
Definition document.h:109
DifferenceType operator-(ConstIterator that) const
Distance.
Definition document.h:191
Iterator & operator--()
Definition document.h:159
GenericMemberIterator< true, Encoding, Allocator > ConstIterator
Constant iterator type.
Definition document.h:111
bool operator>(ConstIterator that) const
Definition document.h:180
std::ptrdiff_t difference_type
Definition document.h:120
Helper class for accessing Value of object type.
Definition document.h:2573
MemberIterator RemoveMember(MemberIterator m) const
Definition document.h:2635
ValueType::AllocatorType AllocatorType
Definition document.h:2581
GenericObject AddMember(StringRefType name, ValueType &value, AllocatorType &allocator) const
Definition document.h:2626
SizeType MemberCapacity() const
Definition document.h:2594
bool HasMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition document.h:2608
GenericObject(const GenericObject &rhs)
Definition document.h:2589
void RemoveAllMembers()
Definition document.h:2629
MemberIterator FindMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition document.h:2610
T value
Definition document.h:2619
SizeType MemberCount() const
Definition document.h:2593
GenericMemberIterator< Const, typename ValueT::EncodingType, typename ValueT::AllocatorType > MemberIterator
Definition document.h:2579
ValueType & operator[](const GenericValue< EncodingType, SourceAllocator > &name) const
Definition document.h:2597
ValueType & value_
Definition document.h:2652
MemberIterator EraseMember(ConstMemberIterator pos) const
Definition document.h:2636
ValueType & operator[](T *name) const
Definition document.h:2596
GenericObject AddMember(ValueType &name, ValueType &value, AllocatorType &allocator) const
Definition document.h:2614
GenericObject AddMember(StringRefType name, StringRefType value, AllocatorType &allocator) const
Definition document.h:2627
ValueT PlainType
Definition document.h:2577
bool EraseMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition document.h:2642
GenericObject(ValueType &value)
Definition document.h:2651
MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) const
Definition document.h:2637
MemberIterator MemberEnd() const
Definition document.h:2602
~GenericObject()
Definition document.h:2591
bool RemoveMember(const GenericValue< EncodingType, SourceAllocator > &name) const
Definition document.h:2634
internal::MaybeAddConst< Const, PlainType >::Type ValueType
Definition document.h:2578
ValueType::EncodingType EncodingType
Definition document.h:2583
MemberIterator FindMember(const Ch *name) const
Definition document.h:2609
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) AddMember(ValueType &name
GenericObject & operator=(const GenericObject &rhs)
Definition document.h:2590
bool HasMember(const Ch *name) const
Definition document.h:2604
ValueType::StringRefType StringRefType
Definition document.h:2582
bool ObjectEmpty() const
Definition document.h:2595
ValueType::Ch Ch
Definition document.h:2584
GenericObject AddMember(ValueType &name, StringRefType value, AllocatorType &allocator) const
Definition document.h:2615
GenericObject< false, ValueT > Object
Definition document.h:2576
bool RemoveMember(const Ch *name) const
Definition document.h:2630
GenericObject< true, ValueT > ConstObject
Definition document.h:2575
bool EraseMember(const Ch *name) const
Definition document.h:2638
GenericMemberIterator< true, typename ValueT::EncodingType, typename ValueT::AllocatorType > ConstMemberIterator
Definition document.h:2580
MemberIterator MemberBegin() const
Definition document.h:2601
RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(GenericObject)) AddMember(StringRefType name
GenericObject MemberReserve(SizeType newCapacity, AllocatorType &allocator) const
Definition document.h:2603
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
Definition reader.h:537
Represents a JSON value. Use Value for UTF8 encoding and default allocator.
Definition document.h:575
GenericValue(T b, RAPIDJSON_ENABLEIF((internal::IsSame< bool, T >))) RAPIDJSON_NOEXCEPT
Constructor for boolean value.
Definition document.h:698
void SetStringRaw(StringRefType s) RAPIDJSON_NOEXCEPT
Initialize this value as constant string, without calling destructor.
Definition document.h:2066
GenericArray< false, ValueType > Array
Definition document.h:588
static const SizeType kDefaultArrayCapacity
Definition document.h:1938
RAPIDJSON_FORCEINLINE GenericValue * SetElementsPointer(GenericValue *elements)
Definition document.h:2025
~GenericValue()
Destructor.
Definition document.h:797
GenericValue(double d) RAPIDJSON_NOEXCEPT
Constructor for double value.
Definition document.h:748
void SetObjectRaw(Member *members, SizeType count, Allocator &allocator)
Initialize this value as object with initial data, without calling destructor.
Definition document.h:2048
static const SizeType kDefaultObjectCapacity
Definition document.h:1939
Encoding EncodingType
Encoding type from template parameter.
Definition document.h:579
GenericValue & operator=(StringRefType str) RAPIDJSON_NOEXCEPT
Assignment of constant string reference (no copy)
Definition document.h:852
GenericStringRef< Ch > StringRefType
Reference to a constant string.
Definition document.h:582
GenericMemberIterator< false, Encoding, Allocator >::Iterator MemberIterator
Member iterator for iterating in object.
Definition document.h:583
RAPIDJSON_FORCEINLINE GenericValue * GetElementsPointer() const
Definition document.h:2024
GenericValue< Encoding, Allocator > ValueType
Value type of itself.
Definition document.h:587
const GenericValue * ConstValueIterator
Constant value iterator for iterating in array.
Definition document.h:586
RAPIDJSON_DISABLEIF_RETURN((internal::IsPointer< T >),(GenericValue &)) operator
Assignment with primitive types.
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
GenericObject< true, ValueType > ConstObject
Definition document.h:591
RAPIDJSON_FORCEINLINE Member * SetMembersPointer(Member *members)
Definition document.h:2027
GenericValue(const GenericValue< Encoding, SourceAllocator > &rhs, Allocator &allocator, bool copyConstStrings=false)
Explicit copy constructor (with allocator)
Definition document.h:649
Allocator AllocatorType
Allocator type from template parameter.
Definition document.h:580
GenericMember< Encoding, Allocator > Member
Name-value pair in an object.
Definition document.h:578
GenericValue(Type type) RAPIDJSON_NOEXCEPT
Constructor with JSON value type.
Definition document.h:627
RAPIDJSON_FORCEINLINE Member * GetMembersPointer() const
Definition document.h:2026
GenericArray< true, ValueType > ConstArray
Definition document.h:589
void SetArrayRaw(GenericValue *values, SizeType count, Allocator &allocator)
Definition document.h:2030
GenericValue(Array a) RAPIDJSON_NOEXCEPT
Constructor for Array.
Definition document.h:778
GenericValue(int64_t i64) RAPIDJSON_NOEXCEPT
Constructor for int64_t value.
Definition document.h:721
GenericValue(unsigned u) RAPIDJSON_NOEXCEPT
Constructor for unsigned value.
Definition document.h:715
GenericValue(const Ch *s, Allocator &allocator)
Constructor for copy-string (i.e. do make a copy of string)
Definition document.h:763
GenericValue(Object o) RAPIDJSON_NOEXCEPT
Constructor for Object.
Definition document.h:789
GenericValue(const Ch *s, SizeType length, Allocator &allocator)
Constructor for copy-string (i.e. do make a copy of string)
Definition document.h:760
GenericMemberIterator< true, Encoding, Allocator >::Iterator ConstMemberIterator
Constant member iterator for iterating in object.
Definition document.h:584
Data data_
Definition document.h:2112
GenericValue(int i) RAPIDJSON_NOEXCEPT
Constructor for int value.
Definition document.h:709
GenericValue() RAPIDJSON_NOEXCEPT
Default constructor creates a null value.
Definition document.h:597
friend class GenericDocument
Definition document.h:1905
RAPIDJSON_FORCEINLINE const Ch * SetStringPointer(const Ch *str)
Definition document.h:2023
GenericValue(StringRefType s) RAPIDJSON_NOEXCEPT
Constructor for constant string (i.e. do not make a copy of string)
Definition document.h:757
void RawAssign(GenericValue &rhs) RAPIDJSON_NOEXCEPT
Assignment without calling destructor.
Definition document.h:2090
@ kCopyStringFlag
Definition document.h:1930
@ kCopyFlag
Definition document.h:1916
@ kNumberDoubleFlag
Definition document.h:1927
@ kConstStringFlag
Definition document.h:1929
@ kFalseFlag
Definition document.h:1922
@ kDoubleFlag
Definition document.h:1914
@ kTrueFlag
Definition document.h:1921
@ kTypeMask
Definition document.h:1935
@ kUintFlag
Definition document.h:1911
@ kInt64Flag
Definition document.h:1912
@ kNullFlag
Definition document.h:1920
@ kNumberFlag
Definition document.h:1909
@ kNumberUint64Flag
Definition document.h:1926
@ kNumberAnyFlag
Definition document.h:1928
@ kObjectFlag
Definition document.h:1932
@ kBoolFlag
Definition document.h:1908
@ kUint64Flag
Definition document.h:1913
@ kShortStringFlag
Definition document.h:1931
@ kNumberIntFlag
Definition document.h:1923
@ kNumberInt64Flag
Definition document.h:1925
@ kIntFlag
Definition document.h:1910
@ kInlineStrFlag
Definition document.h:1917
@ kNumberUintFlag
Definition document.h:1924
@ kStringFlag
Definition document.h:1915
@ kArrayFlag
Definition document.h:1933
GenericValue(const GenericValue &rhs)
Copy constructor is not permitted.
GenericValue(float f) RAPIDJSON_NOEXCEPT
Constructor for float value.
Definition document.h:751
GenericValue(uint64_t u64) RAPIDJSON_NOEXCEPT
Constructor for uint64_t value.
Definition document.h:736
void SetStringRaw(StringRefType s, Allocator &allocator)
Initialize this value as copy string with initial data, without calling destructor.
Definition document.h:2073
bool StringEqual(const GenericValue< Encoding, SourceAllocator > &rhs) const
Definition document.h:2097
GenericValue & operator=(GenericValue &rhs) RAPIDJSON_NOEXCEPT
Assignment with move semantics.
Definition document.h:833
Encoding::Ch Ch
Character type derived from Encoding.
Definition document.h:581
GenericValue * ValueIterator
Value iterator for iterating in array.
Definition document.h:585
GenericObject< false, ValueType > Object
Definition document.h:590
RAPIDJSON_FORCEINLINE const Ch * GetStringPointer() const
Definition document.h:2022
A type-unsafe stack for storing different types of data.
Definition stack.h:36
void Clear()
Definition stack.h:98
void ShrinkToFit()
Definition stack.h:100
void Swap(Stack &rhs) RAPIDJSON_NOEXCEPT
Definition stack.h:89
bool HasAllocator() const
Definition stack.h:167
size_t GetCapacity() const
Definition stack.h:178
Allocator & GetAllocator()
Definition stack.h:171
size_t GetSize() const
Definition stack.h:177
Concept for allocating, resizing and freeing memory block.
Concept for encoding of Unicode characters.
Concept for receiving events from GenericReader upon parsing. The functions return true if no error o...
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition document.h:2116
GenericStringRef< CharType > StringRef(const CharType *str)
Mark a character pointer as constant string.
Definition document.h:361
GenericDocument< UTF8<> > Document
GenericDocument with UTF8 encoding.
Definition document.h:2512
bool operator!=(expect< T > const &lhs, expect< U > const &rhs) noexcept(noexcept(lhs.equal(rhs)))
Definition expect.h:423
bool operator==(expect< T > const &lhs, expect< U > const &rhs) noexcept(noexcept(lhs.equal(rhs)))
Definition expect.h:402
int * count
Definition gmock_stress_test.cc:176
#define RAPIDJSON_LIKELY(x)
Compiler branching hint for expression with high probability to be true.
Definition rapidjson.h:468
#define RAPIDJSON_UNLIKELY(x)
Compiler branching hint for expression with low probability to be true.
Definition rapidjson.h:481
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition rapidjson.h:411
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition rapidjson.h:121
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition rapidjson.h:124
ParseErrorCode
Error code of parsing.
Definition error.h:64
#define const
Definition ipfrdr.c:80
list first
Definition compare.py:8
Definition document.h:406
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header.
Definition swap.h:33
SizeType StrLen(const Ch *s)
Custom strlen() which works on different character types.
Definition strfunc.h:31
int i
Definition pymoduletest.py:23
u
Definition pymoduletest.py:20
e
Definition pymoduletest.py:79
GTEST_API_ bool IsTrue(bool condition)
Definition gtest.cc:4986
const char * name
Definition options.c:30
const GenericPointer< typename T::ValueType > T2 value
Definition pointer.h:1225
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1124
const char *const str
Definition portlistingparse.c:23
static const struct @24 elements[]
#define RAPIDJSON_SETPOINTER(type, p, x)
Definition rapidjson.h:323
Type
Type of JSON value.
Definition rapidjson.h:623
@ kFalseType
false
Definition rapidjson.h:625
@ kObjectType
object
Definition rapidjson.h:627
@ kTrueType
true
Definition rapidjson.h:626
@ kStringType
string
Definition rapidjson.h:629
@ kNullType
null
Definition rapidjson.h:624
@ kArrayType
array
Definition rapidjson.h:628
@ kNumberType
number
Definition rapidjson.h:630
#define RAPIDJSON_DELETE(x)
! customization point for global delete
Definition rapidjson.h:610
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition rapidjson.h:389
#define RAPIDJSON_UINT64_C2(high32, low32)
Construct a 64-bit literal by a pair of 32-bit integer.
Definition rapidjson.h:294
#define RAPIDJSON_GETPOINTER(type, p)
Definition rapidjson.h:324
#define RAPIDJSON_NEW(TypeName)
! customization point for global new
Definition rapidjson.h:606
#define RAPIDJSON_STATIC_ASSERT(x)
(Internal) macro to check for conditions at compile-time
Definition rapidjson.h:450
@ kParseInsituFlag
In-situ(destructive) parsing.
Definition reader.h:147
#define Ch(x, y, z)
Definition sha512-blocks.c:34
int bool
Definition stdbool.h:35
#define true
Definition stdbool.h:36
#define false
Definition stdbool.h:37
unsigned short uint16_t
Definition stdint.h:125
signed __int64 int64_t
Definition stdint.h:135
unsigned __int64 uint64_t
Definition stdint.h:136
Definition document.h:2428
ClearStackOnExit & operator=(const ClearStackOnExit &)
GenericDocument & d_
Definition document.h:2434
ClearStackOnExit(GenericDocument &d)
Definition document.h:2429
~ClearStackOnExit()
Definition document.h:2430
ClearStackOnExit(const ClearStackOnExit &)
A read-write string stream.
Definition stream.h:188
Name-value pair in a JSON object value.
Definition document.h:69
GenericValue< Encoding, Allocator > name
name of member (must be a string)
Definition document.h:70
GenericValue< Encoding, Allocator > value
value of member.
Definition document.h:71
Reference to a constant string (not taking a copy)
Definition document.h:253
GenericStringRef & operator=(const GenericStringRef &rhs)
Copy assignment operator not permitted - immutable type.
CharType Ch
character type of the string
Definition document.h:254
const SizeType length
length of the string (excluding the trailing NULL terminator)
Definition document.h:327
GenericStringRef< CharType > StringRef(const CharType *str, size_t length)
Mark a character pointer as constant string.
Definition document.h:381
GenericStringRef(const CharType *str, SizeType len)
Create constant string reference from pointer and length.
Definition document.h:318
GenericStringRef(const CharType *str)
Explicitly create string reference from const character pointer.
Definition document.h:306
GenericStringRef< CharType > StringRef(const CharType *str)
Mark a character pointer as constant string.
Definition document.h:361
GenericStringRef(const CharType(&str)[N]) RAPIDJSON_NOEXCEPT
Create string reference from const character array.
Definition document.h:282
GenericStringRef(const GenericStringRef &rhs)
Definition document.h:321
GenericStringRef(CharType(&str)[N])
Disallow construction from non-const array.
const Ch *const s
plain CharType pointer
Definition document.h:326
static const Ch emptyString[]
Empty string - used when passing in a NULL pointer.
Definition document.h:336
SizeType NotNullStrLen(const CharType *str)
Definition document.h:330
Read-only string stream.
Definition stream.h:154
Definition document.h:2007
SizeType capacity
Definition document.h:2009
SizeType size
Definition document.h:2008
GenericValue * elements
Definition document.h:2010
Definition document.h:1941
uint16_t flags
Definition document.h:1949
char payload[sizeof(SizeType) *2+sizeof(void *)+2]
Definition document.h:1947
Definition document.h:1978
int i
Definition document.h:1979
char padding[4]
Definition document.h:1980
Definition document.h:1982
unsigned u
Definition document.h:1983
char padding2[4]
Definition document.h:1984
Definition document.h:2001
Member * members
Definition document.h:2004
SizeType capacity
Definition document.h:2003
SizeType size
Definition document.h:2002
Definition document.h:1966
@ MaxChars
Definition document.h:1967
@ MaxSize
Definition document.h:1967
@ LenPos
Definition document.h:1967
Ch str[MaxChars]
Definition document.h:1968
SizeType GetLength() const
Definition document.h:1972
static bool Usable(SizeType len)
Definition document.h:1970
void SetLength(SizeType len)
Definition document.h:1971
Definition document.h:1952
const Ch * str
Definition document.h:1955
SizeType hashcode
reserved
Definition document.h:1954
SizeType length
Definition document.h:1953
Represents an in-memory input byte stream.
Definition memorystream.h:40
Result of parsing (wraps ParseErrorCode)
Definition error.h:106
ParseErrorCode Code() const
Get the error code.
Definition error.h:116
bool IsError() const
Whether the result is an error.
Definition error.h:123
size_t Offset() const
Get the error offset, if IsError(), 0 otherwise.
Definition error.h:118
Definition document.h:409
Definition document.h:416
static bool Is(const ValueType &v)
Definition document.h:430
static ValueType & Set(ValueType &v, bool data, typename ValueType::AllocatorType &)
Definition document.h:433
static ValueType & Set(ValueType &v, bool data)
Definition document.h:432
static bool Get(const ValueType &v)
Definition document.h:431
static StringType Get(const ValueType &v)
Definition document.h:508
static ValueType & Set(ValueType &v, const StringType data)
Definition document.h:509
static ValueType & Set(ValueType &v, const StringType data, typename ValueType::AllocatorType &a)
Definition document.h:510
const ValueType::Ch * StringType
Definition document.h:506
static bool Is(const ValueType &v)
Definition document.h:507
static ValueType & Set(ValueType &v, double data, typename ValueType::AllocatorType &)
Definition document.h:493
static bool Is(const ValueType &v)
Definition document.h:490
static ValueType & Set(ValueType &v, double data)
Definition document.h:492
static double Get(const ValueType &v)
Definition document.h:491
static bool Is(const ValueType &v)
Definition document.h:498
static ValueType & Set(ValueType &v, float data)
Definition document.h:500
static float Get(const ValueType &v)
Definition document.h:499
static ValueType & Set(ValueType &v, float data, typename ValueType::AllocatorType &)
Definition document.h:501
static ValueType & Set(ValueType &v, int64_t data, typename ValueType::AllocatorType &)
Definition document.h:477
static ValueType & Set(ValueType &v, int64_t data)
Definition document.h:476
static bool Is(const ValueType &v)
Definition document.h:474
static int64_t Get(const ValueType &v)
Definition document.h:475
static ValueType & Set(ValueType &v, int data, typename ValueType::AllocatorType &)
Definition document.h:441
static ValueType & Set(ValueType &v, int data)
Definition document.h:440
static int Get(const ValueType &v)
Definition document.h:439
static bool Is(const ValueType &v)
Definition document.h:438
static ArrayType Get(ValueType &v)
Definition document.h:527
static bool Is(const ValueType &v)
Definition document.h:526
static ValueType & Set(ValueType &v, ArrayType data)
Definition document.h:528
static ValueType & Set(ValueType &v, ArrayType data, typename ValueType::AllocatorType &)
Definition document.h:529
ValueType::Array ArrayType
Definition document.h:525
static ArrayType Get(const ValueType &v)
Definition document.h:536
static bool Is(const ValueType &v)
Definition document.h:535
ValueType::ConstArray ArrayType
Definition document.h:534
static bool Is(const ValueType &v)
Definition document.h:551
ValueType::ConstObject ObjectType
Definition document.h:550
static ObjectType Get(const ValueType &v)
Definition document.h:552
static ValueType & Set(ValueType &v, ObjectType data)
Definition document.h:544
static bool Is(const ValueType &v)
Definition document.h:542
ValueType::Object ObjectType
Definition document.h:541
static ObjectType Get(ValueType &v)
Definition document.h:543
static ValueType & Set(ValueType &v, ObjectType data, typename ValueType::AllocatorType &)
Definition document.h:545
static uint64_t Get(const ValueType &v)
Definition document.h:483
static bool Is(const ValueType &v)
Definition document.h:482
static ValueType & Set(ValueType &v, uint64_t data, typename ValueType::AllocatorType &)
Definition document.h:485
static ValueType & Set(ValueType &v, uint64_t data)
Definition document.h:484
static ValueType & Set(ValueType &v, unsigned data)
Definition document.h:448
static unsigned Get(const ValueType &v)
Definition document.h:447
static bool Is(const ValueType &v)
Definition document.h:446
static ValueType & Set(ValueType &v, unsigned data, typename ValueType::AllocatorType &)
Definition document.h:449
Definition document.h:426
Definition blockchain_usage.cpp:72
std::string data
Definition base58.cpp:37
const char * str1
Definition testupnpdescgen.c:131
const char * str2
Definition testupnpdescgen.c:132
Definition document.h:2013
Number n
Definition document.h:2016
ShortString ss
Definition document.h:2015
String s
Definition document.h:2014
Flag f
Definition document.h:2019
ArrayData a
Definition document.h:2018
ObjectData o
Definition document.h:2017
Definition document.h:1976
struct GenericValue::Number::I i
uint64_t u64
Definition document.h:1997
struct GenericValue::Number::U u
double d
Definition document.h:1998
int64_t i64
Definition document.h:1996