Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
rapidjson.h File Reference

common definitions and configuration More...

#include <cstdlib>
#include <cstring>
#include <cassert>
Include dependency graph for rapidjson.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  rapidjson
 main RapidJSON namespace
 

Macros

#define RAPIDJSON_MAJOR_VERSION   1
 Major version of RapidJSON in integer.
 
#define RAPIDJSON_MINOR_VERSION   1
 Minor version of RapidJSON in integer.
 
#define RAPIDJSON_PATCH_VERSION   0
 Patch version of RapidJSON in integer.
 
#define RAPIDJSON_VERSION_STRING    RAPIDJSON_STRINGIFY(RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION)
 Version of RapidJSON in "<major>.<minor>.<patch>" string format.
 
#define RAPIDJSON_NAMESPACE   rapidjson
 provide custom rapidjson namespace
 
#define RAPIDJSON_NAMESPACE_BEGIN   namespace RAPIDJSON_NAMESPACE {
 provide custom rapidjson namespace (opening expression)
 
#define RAPIDJSON_NAMESPACE_END   }
 provide custom rapidjson namespace (closing expression)
 
#define RAPIDJSON_HAS_STDSTRING
 Enable RapidJSON support for std::string.
 
#define RAPIDJSON_LITTLEENDIAN   0
 Little endian machine.
 
#define RAPIDJSON_BIGENDIAN   1
 Big endian machine.
 
#define RAPIDJSON_64BIT   0
 Whether using 64-bit architecture.
 
#define RAPIDJSON_ALIGN(x)
 Data alignment of the machine.
 
#define RAPIDJSON_UINT64_C2(high32, low32)
 Construct a 64-bit literal by a pair of 32-bit integer.
 
#define RAPIDJSON_48BITPOINTER_OPTIMIZATION   0
 Use only lower 48-bit address for some pointers.
 
#define RAPIDJSON_SETPOINTER(type, p, x)
 
#define RAPIDJSON_GETPOINTER(type, p)
 
#define RAPIDJSON_ASSERT(x)
 Assertion.
 
#define RAPIDJSON_STATIC_ASSERT(x)
 (Internal) macro to check for conditions at compile-time
 
#define RAPIDJSON_LIKELY(x)
 Compiler branching hint for expression with high probability to be true.
 
#define RAPIDJSON_UNLIKELY(x)
 Compiler branching hint for expression with low probability to be true.
 
#define RAPIDJSON_NOEXCEPT_ASSERT(x)
 Assertion (in non-throwing contexts).
 
#define RAPIDJSON_NEW(TypeName)
 ! customization point for global new
 
#define RAPIDJSON_DELETE(x)
 ! customization point for global delete
 

Enumerations

enum  Type {
  kNullType = 0 , kFalseType = 1 , kTrueType = 2 , kObjectType = 3 ,
  kArrayType = 4 , kStringType = 5 , kNumberType = 6
}
 Type of JSON value. More...
 

Variables

RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
 Size type (for string lengths, array sizes, etc.)
 

Detailed Description

See also
RapidJSON configuration

Definition in file rapidjson.h.

Macro Definition Documentation

◆ RAPIDJSON_64BIT

#define RAPIDJSON_64BIT   0

Definition at line 261 of file rapidjson.h.

◆ RAPIDJSON_BIGENDIAN

#define RAPIDJSON_BIGENDIAN   1

Definition at line 199 of file rapidjson.h.

◆ RAPIDJSON_DELETE

#define RAPIDJSON_DELETE ( x)
Value:
delete x

Definition at line 631 of file rapidjson.h.

◆ RAPIDJSON_GETPOINTER

#define RAPIDJSON_GETPOINTER ( type,
p )
Value:
(p)
const mie::Vuint & p
Definition bn.cpp:27

Definition at line 319 of file rapidjson.h.

◆ RAPIDJSON_LITTLEENDIAN

#define RAPIDJSON_LITTLEENDIAN   0

Definition at line 198 of file rapidjson.h.

◆ RAPIDJSON_NEW

#define RAPIDJSON_NEW ( TypeName)
Value:
new TypeName

Definition at line 627 of file rapidjson.h.

◆ RAPIDJSON_SETPOINTER

#define RAPIDJSON_SETPOINTER ( type,
p,
x )
Value:
(p = (x))

Definition at line 318 of file rapidjson.h.

◆ RAPIDJSON_STATIC_ASSERT

#define RAPIDJSON_STATIC_ASSERT ( x)
Parameters
xcompile-time condition

Definition at line 445 of file rapidjson.h.

445#define RAPIDJSON_STATIC_ASSERT(x) \
446 typedef ::RAPIDJSON_NAMESPACE::StaticAssertTest< \
447 sizeof(::RAPIDJSON_NAMESPACE::STATIC_ASSERTION_FAILURE<bool(x) >)> \
448 RAPIDJSON_JOIN(StaticAssertTypedef, __LINE__) RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE

◆ RAPIDJSON_UINT64_C2

#define RAPIDJSON_UINT64_C2 ( high32,
low32 )
Value:
((static_cast<uint64_t>(high32) << 32) | static_cast<uint64_t>(low32))
unsigned __int64 uint64_t
Definition stdint.h:136

64-bit literal with or without ULL suffix is prone to compiler warnings. UINT64_C() is C macro which cause compilation problems. Use this macro to define 64-bit constants by a pair of 32-bit integer.

Definition at line 289 of file rapidjson.h.

Enumeration Type Documentation

◆ Type

enum Type
Enumerator
kNullType 

null

kFalseType 

false

kTrueType 

true

kObjectType 

object

kArrayType 

array

kStringType 

string

kNumberType 

number

Definition at line 644 of file rapidjson.h.

644 {
645 kNullType = 0,
646 kFalseType = 1,
647 kTrueType = 2,
648 kObjectType = 3,
649 kArrayType = 4,
650 kStringType = 5,
651 kNumberType = 6
652};
@ kFalseType
false
Definition rapidjson.h:646
@ kObjectType
object
Definition rapidjson.h:648
@ kTrueType
true
Definition rapidjson.h:647
@ kStringType
string
Definition rapidjson.h:650
@ kNullType
null
Definition rapidjson.h:645
@ kArrayType
array
Definition rapidjson.h:649
@ kNumberType
number
Definition rapidjson.h:651

Variable Documentation

◆ SizeType

RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType

RapidJSON uses 32-bit array/string indices even on 64-bit platforms, instead of using size_t. Users may override the SizeType by defining RAPIDJSON_NO_SIZETYPEDEFINE.

Definition at line 384 of file rapidjson.h.