Warning, file /include/rapidjson/rapidjson.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef RAPIDJSON_RAPIDJSON_H_
0016 #define RAPIDJSON_RAPIDJSON_H_
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #include <cstdlib> // malloc(), realloc(), free(), size_t
0040 #include <cstring> // memset(), memcpy(), memmove(), memcmp()
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050 #define RAPIDJSON_STRINGIFY(x) RAPIDJSON_DO_STRINGIFY(x)
0051 #define RAPIDJSON_DO_STRINGIFY(x) #x
0052
0053
0054 #define RAPIDJSON_JOIN(X, Y) RAPIDJSON_DO_JOIN(X, Y)
0055 #define RAPIDJSON_DO_JOIN(X, Y) RAPIDJSON_DO_JOIN2(X, Y)
0056 #define RAPIDJSON_DO_JOIN2(X, Y) X##Y
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075 #define RAPIDJSON_MAJOR_VERSION 1
0076 #define RAPIDJSON_MINOR_VERSION 1
0077 #define RAPIDJSON_PATCH_VERSION 0
0078 #define RAPIDJSON_VERSION_STRING \
0079 RAPIDJSON_STRINGIFY(RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION)
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117 #ifndef RAPIDJSON_NAMESPACE
0118 #define RAPIDJSON_NAMESPACE rapidjson
0119 #endif
0120 #ifndef RAPIDJSON_NAMESPACE_BEGIN
0121 #define RAPIDJSON_NAMESPACE_BEGIN namespace RAPIDJSON_NAMESPACE {
0122 #endif
0123 #ifndef RAPIDJSON_NAMESPACE_END
0124 #define RAPIDJSON_NAMESPACE_END }
0125 #endif
0126
0127
0128
0129
0130
0131
0132 #if defined(_MSC_VER)
0133 #define RAPIDJSON_CPLUSPLUS _MSVC_LANG
0134 #else
0135 #define RAPIDJSON_CPLUSPLUS __cplusplus
0136 #endif
0137
0138
0139
0140
0141
0142
0143 #ifndef RAPIDJSON_HAS_STDSTRING
0144 #ifdef RAPIDJSON_DOXYGEN_RUNNING
0145 #define RAPIDJSON_HAS_STDSTRING 1
0146 #else
0147 #define RAPIDJSON_HAS_STDSTRING 0
0148 #endif
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159 #endif
0160
0161 #if RAPIDJSON_HAS_STDSTRING
0162 #include <string>
0163 #endif
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178
0179 #ifndef RAPIDJSON_USE_MEMBERSMAP
0180 #define RAPIDJSON_USE_MEMBERSMAP 0
0181 #endif
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196 #ifndef RAPIDJSON_NO_INT64DEFINE
0197
0198 #if defined(_MSC_VER) && (_MSC_VER < 1800)
0199 #include "msinttypes/stdint.h"
0200 #include "msinttypes/inttypes.h"
0201 #else
0202
0203 #include <stdint.h>
0204 #include <inttypes.h>
0205 #endif
0206
0207 #ifdef RAPIDJSON_DOXYGEN_RUNNING
0208 #define RAPIDJSON_NO_INT64DEFINE
0209 #endif
0210 #endif
0211
0212
0213
0214
0215 #ifndef RAPIDJSON_FORCEINLINE
0216
0217 #if defined(_MSC_VER) && defined(NDEBUG)
0218 #define RAPIDJSON_FORCEINLINE __forceinline
0219 #elif defined(__GNUC__) && __GNUC__ >= 4 && defined(NDEBUG)
0220 #define RAPIDJSON_FORCEINLINE __attribute__((always_inline))
0221 #else
0222 #define RAPIDJSON_FORCEINLINE
0223 #endif
0224
0225 #endif
0226
0227
0228
0229 #define RAPIDJSON_LITTLEENDIAN 0
0230 #define RAPIDJSON_BIGENDIAN 1
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245 #ifndef RAPIDJSON_ENDIAN
0246
0247 # ifdef __BYTE_ORDER__
0248 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
0249 # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
0250 # elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
0251 # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
0252 # else
0253 # error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN.
0254 # endif
0255
0256 # elif defined(__GLIBC__)
0257 # include <endian.h>
0258 # if (__BYTE_ORDER == __LITTLE_ENDIAN)
0259 # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
0260 # elif (__BYTE_ORDER == __BIG_ENDIAN)
0261 # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
0262 # else
0263 # error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN.
0264 # endif
0265
0266 # elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)
0267 # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
0268 # elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)
0269 # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
0270
0271 # elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__)
0272 # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
0273 # elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__)
0274 # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
0275 # elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
0276 # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
0277 # elif defined(RAPIDJSON_DOXYGEN_RUNNING)
0278 # define RAPIDJSON_ENDIAN
0279 # else
0280 # error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN.
0281 # endif
0282 #endif
0283
0284
0285
0286
0287
0288 #ifndef RAPIDJSON_64BIT
0289 #if defined(__LP64__) || (defined(__x86_64__) && defined(__ILP32__)) || defined(_WIN64) || defined(__EMSCRIPTEN__)
0290 #define RAPIDJSON_64BIT 1
0291 #else
0292 #define RAPIDJSON_64BIT 0
0293 #endif
0294 #endif
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306 #ifndef RAPIDJSON_ALIGN
0307 #define RAPIDJSON_ALIGN(x) (((x) + static_cast<size_t>(7u)) & ~static_cast<size_t>(7u))
0308 #endif
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319 #ifndef RAPIDJSON_UINT64_C2
0320 #define RAPIDJSON_UINT64_C2(high32, low32) ((static_cast<uint64_t>(high32) << 32) | static_cast<uint64_t>(low32))
0321 #endif
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334 #ifndef RAPIDJSON_48BITPOINTER_OPTIMIZATION
0335 #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)
0336 #define RAPIDJSON_48BITPOINTER_OPTIMIZATION 1
0337 #else
0338 #define RAPIDJSON_48BITPOINTER_OPTIMIZATION 0
0339 #endif
0340 #endif
0341
0342 #if RAPIDJSON_48BITPOINTER_OPTIMIZATION == 1
0343 #if RAPIDJSON_64BIT != 1
0344 #error RAPIDJSON_48BITPOINTER_OPTIMIZATION can only be set to 1 when RAPIDJSON_64BIT=1
0345 #endif
0346 #define RAPIDJSON_SETPOINTER(type, p, x) (p = reinterpret_cast<type *>((reinterpret_cast<uintptr_t>(p) & static_cast<uintptr_t>(RAPIDJSON_UINT64_C2(0xFFFF0000, 0x00000000))) | reinterpret_cast<uintptr_t>(reinterpret_cast<const void*>(x))))
0347 #define RAPIDJSON_GETPOINTER(type, p) (reinterpret_cast<type *>(reinterpret_cast<uintptr_t>(p) & static_cast<uintptr_t>(RAPIDJSON_UINT64_C2(0x0000FFFF, 0xFFFFFFFF))))
0348 #else
0349 #define RAPIDJSON_SETPOINTER(type, p, x) (p = (x))
0350 #define RAPIDJSON_GETPOINTER(type, p) (p)
0351 #endif
0352
0353
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367
0368
0369
0370
0371
0372
0373
0374
0375
0376
0377
0378
0379
0380
0381
0382 #if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42) \
0383 || defined(RAPIDJSON_NEON) || defined(RAPIDJSON_DOXYGEN_RUNNING)
0384 #define RAPIDJSON_SIMD
0385 #endif
0386
0387
0388
0389
0390 #ifndef RAPIDJSON_NO_SIZETYPEDEFINE
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401
0402
0403
0404
0405
0406 #ifdef RAPIDJSON_DOXYGEN_RUNNING
0407 #define RAPIDJSON_NO_SIZETYPEDEFINE
0408 #endif
0409 RAPIDJSON_NAMESPACE_BEGIN
0410
0411
0412
0413
0414
0415 typedef unsigned SizeType;
0416 RAPIDJSON_NAMESPACE_END
0417 #endif
0418
0419
0420 RAPIDJSON_NAMESPACE_BEGIN
0421 using std::size_t;
0422 RAPIDJSON_NAMESPACE_END
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433
0434
0435 #ifndef RAPIDJSON_ASSERT
0436 #include <cassert>
0437 #define RAPIDJSON_ASSERT(x) assert(x)
0438 #endif
0439
0440
0441
0442
0443
0444 #ifndef RAPIDJSON_STATIC_ASSERT
0445 #if RAPIDJSON_CPLUSPLUS >= 201103L || ( defined(_MSC_VER) && _MSC_VER >= 1800 )
0446 #define RAPIDJSON_STATIC_ASSERT(x) \
0447 static_assert(x, RAPIDJSON_STRINGIFY(x))
0448 #endif
0449 #endif
0450
0451
0452 #ifndef RAPIDJSON_STATIC_ASSERT
0453 #ifndef __clang__
0454
0455 #endif
0456 RAPIDJSON_NAMESPACE_BEGIN
0457 template <bool x> struct STATIC_ASSERTION_FAILURE;
0458 template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };
0459 template <size_t x> struct StaticAssertTest {};
0460 RAPIDJSON_NAMESPACE_END
0461
0462 #if defined(__GNUC__) || defined(__clang__)
0463 #define RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
0464 #else
0465 #define RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE
0466 #endif
0467 #ifndef __clang__
0468
0469 #endif
0470
0471
0472
0473
0474
0475
0476 #define RAPIDJSON_STATIC_ASSERT(x) \
0477 typedef ::RAPIDJSON_NAMESPACE::StaticAssertTest< \
0478 sizeof(::RAPIDJSON_NAMESPACE::STATIC_ASSERTION_FAILURE<bool(x) >)> \
0479 RAPIDJSON_JOIN(StaticAssertTypedef, __LINE__) RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE
0480 #endif
0481
0482
0483
0484
0485
0486
0487
0488
0489
0490 #ifndef RAPIDJSON_LIKELY
0491 #if defined(__GNUC__) || defined(__clang__)
0492 #define RAPIDJSON_LIKELY(x) __builtin_expect(!!(x), 1)
0493 #else
0494 #define RAPIDJSON_LIKELY(x) (x)
0495 #endif
0496 #endif
0497
0498
0499
0500
0501
0502
0503 #ifndef RAPIDJSON_UNLIKELY
0504 #if defined(__GNUC__) || defined(__clang__)
0505 #define RAPIDJSON_UNLIKELY(x) __builtin_expect(!!(x), 0)
0506 #else
0507 #define RAPIDJSON_UNLIKELY(x) (x)
0508 #endif
0509 #endif
0510
0511
0512
0513
0514
0515
0516 #define RAPIDJSON_MULTILINEMACRO_BEGIN do {
0517 #define RAPIDJSON_MULTILINEMACRO_END \
0518 } while((void)0, 0)
0519
0520
0521 #define RAPIDJSON_VERSION_CODE(x,y,z) \
0522 (((x)*100000) + ((y)*100) + (z))
0523
0524 #if defined(__has_builtin)
0525 #define RAPIDJSON_HAS_BUILTIN(x) __has_builtin(x)
0526 #else
0527 #define RAPIDJSON_HAS_BUILTIN(x) 0
0528 #endif
0529
0530
0531
0532
0533 #if defined(__GNUC__)
0534 #define RAPIDJSON_GNUC \
0535 RAPIDJSON_VERSION_CODE(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
0536 #endif
0537
0538 #if defined(__clang__) || (defined(RAPIDJSON_GNUC) && RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,2,0))
0539
0540 #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x))
0541 #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x)
0542 #define RAPIDJSON_DIAG_OFF(x) \
0543 RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W,x)))
0544
0545
0546 #if defined(__clang__) || (defined(RAPIDJSON_GNUC) && RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0))
0547 #define RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_PRAGMA(push)
0548 #define RAPIDJSON_DIAG_POP RAPIDJSON_DIAG_PRAGMA(pop)
0549 #else
0550 #define RAPIDJSON_DIAG_PUSH
0551 #define RAPIDJSON_DIAG_POP
0552 #endif
0553
0554 #elif defined(_MSC_VER)
0555
0556
0557 #define RAPIDJSON_PRAGMA(x) __pragma(x)
0558 #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(warning(x))
0559
0560 #define RAPIDJSON_DIAG_OFF(x) RAPIDJSON_DIAG_PRAGMA(disable: x)
0561 #define RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_PRAGMA(push)
0562 #define RAPIDJSON_DIAG_POP RAPIDJSON_DIAG_PRAGMA(pop)
0563
0564 #else
0565
0566 #define RAPIDJSON_DIAG_OFF(x)
0567 #define RAPIDJSON_DIAG_PUSH
0568 #define RAPIDJSON_DIAG_POP
0569
0570 #endif
0571
0572
0573
0574
0575 #ifndef RAPIDJSON_HAS_CXX11
0576 #define RAPIDJSON_HAS_CXX11 (RAPIDJSON_CPLUSPLUS >= 201103L)
0577 #endif
0578
0579 #ifndef RAPIDJSON_HAS_CXX11_RVALUE_REFS
0580 #if RAPIDJSON_HAS_CXX11
0581 #define RAPIDJSON_HAS_CXX11_RVALUE_REFS 1
0582 #elif defined(__clang__)
0583 #if __has_feature(cxx_rvalue_references) && \
0584 (defined(_MSC_VER) || defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)
0585 #define RAPIDJSON_HAS_CXX11_RVALUE_REFS 1
0586 #else
0587 #define RAPIDJSON_HAS_CXX11_RVALUE_REFS 0
0588 #endif
0589 #elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,3,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
0590 (defined(_MSC_VER) && _MSC_VER >= 1600) || \
0591 (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__))
0592
0593 #define RAPIDJSON_HAS_CXX11_RVALUE_REFS 1
0594 #else
0595 #define RAPIDJSON_HAS_CXX11_RVALUE_REFS 0
0596 #endif
0597 #endif
0598
0599 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS
0600 #include <utility> // std::move
0601 #endif
0602
0603 #ifndef RAPIDJSON_HAS_CXX11_NOEXCEPT
0604 #if RAPIDJSON_HAS_CXX11
0605 #define RAPIDJSON_HAS_CXX11_NOEXCEPT 1
0606 #elif defined(__clang__)
0607 #define RAPIDJSON_HAS_CXX11_NOEXCEPT __has_feature(cxx_noexcept)
0608 #elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
0609 (defined(_MSC_VER) && _MSC_VER >= 1900) || \
0610 (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__))
0611 #define RAPIDJSON_HAS_CXX11_NOEXCEPT 1
0612 #else
0613 #define RAPIDJSON_HAS_CXX11_NOEXCEPT 0
0614 #endif
0615 #endif
0616 #ifndef RAPIDJSON_NOEXCEPT
0617 #if RAPIDJSON_HAS_CXX11_NOEXCEPT
0618 #define RAPIDJSON_NOEXCEPT noexcept
0619 #else
0620 #define RAPIDJSON_NOEXCEPT throw()
0621 #endif
0622 #endif
0623
0624
0625 #ifndef RAPIDJSON_HAS_CXX11_TYPETRAITS
0626 #if (defined(_MSC_VER) && _MSC_VER >= 1700)
0627 #define RAPIDJSON_HAS_CXX11_TYPETRAITS 1
0628 #else
0629 #define RAPIDJSON_HAS_CXX11_TYPETRAITS 0
0630 #endif
0631 #endif
0632
0633 #ifndef RAPIDJSON_HAS_CXX11_RANGE_FOR
0634 #if defined(__clang__)
0635 #define RAPIDJSON_HAS_CXX11_RANGE_FOR __has_feature(cxx_range_for)
0636 #elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
0637 (defined(_MSC_VER) && _MSC_VER >= 1700) || \
0638 (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__))
0639 #define RAPIDJSON_HAS_CXX11_RANGE_FOR 1
0640 #else
0641 #define RAPIDJSON_HAS_CXX11_RANGE_FOR 0
0642 #endif
0643 #endif
0644
0645
0646
0647
0648 #ifndef RAPIDJSON_HAS_CXX17
0649 #define RAPIDJSON_HAS_CXX17 (RAPIDJSON_CPLUSPLUS >= 201703L)
0650 #endif
0651
0652 #if RAPIDJSON_HAS_CXX17
0653 # define RAPIDJSON_DELIBERATE_FALLTHROUGH [[fallthrough]]
0654 #elif defined(__has_cpp_attribute)
0655 # if __has_cpp_attribute(clang::fallthrough)
0656 # define RAPIDJSON_DELIBERATE_FALLTHROUGH [[clang::fallthrough]]
0657 # elif __has_cpp_attribute(fallthrough)
0658 # define RAPIDJSON_DELIBERATE_FALLTHROUGH __attribute__((fallthrough))
0659 # else
0660 # define RAPIDJSON_DELIBERATE_FALLTHROUGH
0661 # endif
0662 #else
0663 # define RAPIDJSON_DELIBERATE_FALLTHROUGH
0664 #endif
0665
0666
0667
0668
0669
0670
0671
0672
0673
0674
0675
0676
0677
0678
0679
0680
0681
0682 #ifndef RAPIDJSON_NOEXCEPT_ASSERT
0683 #ifdef RAPIDJSON_ASSERT_THROWS
0684 #include <cassert>
0685 #define RAPIDJSON_NOEXCEPT_ASSERT(x) assert(x)
0686 #else
0687 #define RAPIDJSON_NOEXCEPT_ASSERT(x) RAPIDJSON_ASSERT(x)
0688 #endif
0689 #endif
0690
0691
0692
0693
0694 #ifndef RAPIDJSON_MALLOC
0695
0696 #define RAPIDJSON_MALLOC(size) std::malloc(size)
0697 #endif
0698 #ifndef RAPIDJSON_REALLOC
0699
0700 #define RAPIDJSON_REALLOC(ptr, new_size) std::realloc(ptr, new_size)
0701 #endif
0702 #ifndef RAPIDJSON_FREE
0703
0704 #define RAPIDJSON_FREE(ptr) std::free(ptr)
0705 #endif
0706
0707
0708
0709
0710 #ifndef RAPIDJSON_NEW
0711
0712 #define RAPIDJSON_NEW(TypeName) new TypeName
0713 #endif
0714 #ifndef RAPIDJSON_DELETE
0715
0716 #define RAPIDJSON_DELETE(x) delete x
0717 #endif
0718
0719
0720
0721
0722
0723
0724
0725
0726 RAPIDJSON_NAMESPACE_BEGIN
0727
0728
0729 enum Type {
0730 kNullType = 0,
0731 kFalseType = 1,
0732 kTrueType = 2,
0733 kObjectType = 3,
0734 kArrayType = 4,
0735 kStringType = 5,
0736 kNumberType = 6
0737 };
0738
0739 RAPIDJSON_NAMESPACE_END
0740
0741 #endif