common definitions and configuration More...
#include <cstdlib>#include <cstring>#include <cassert>

Go to the source code of this file.
Namespaces | |
| rapidjson | |
| main RapidJSON namespace | |
Macros | |
| #define | RAPIDJSON_48BITPOINTER_OPTIMIZATION 0 |
| Use only lower 48-bit address for some pointers. More... | |
| #define | RAPIDJSON_64BIT 0 |
| Whether using 64-bit architecture. More... | |
| #define | RAPIDJSON_ALIGN(x) (((x) + 3u) & ~3u) |
| Data alignment of the machine. More... | |
| #define | RAPIDJSON_ASSERT(x) assert(x) |
| Assertion. More... | |
| #define | RAPIDJSON_BIGENDIAN 1 |
| Big endian machine. More... | |
| #define | RAPIDJSON_DELETE(x) delete x |
! customization point for global delete More... | |
| #define | RAPIDJSON_GETPOINTER(type, p) (p) |
| #define | RAPIDJSON_HAS_STDSTRING 0 |
Enable RapidJSON support for std::string. More... | |
| #define | RAPIDJSON_LIKELY(x) (x) |
| Compiler branching hint for expression with high probability to be true. More... | |
| #define | RAPIDJSON_LITTLEENDIAN 0 |
| Little endian machine. More... | |
| #define | RAPIDJSON_MAJOR_VERSION 1 |
| Major version of RapidJSON in integer. More... | |
| #define | RAPIDJSON_MINOR_VERSION 1 |
| Minor version of RapidJSON in integer. More... | |
| #define | RAPIDJSON_NAMESPACE rapidjson |
| provide custom rapidjson namespace More... | |
| #define | RAPIDJSON_NAMESPACE_BEGIN namespace RAPIDJSON_NAMESPACE { |
| provide custom rapidjson namespace (opening expression) More... | |
| #define | RAPIDJSON_NAMESPACE_END } |
| provide custom rapidjson namespace (closing expression) More... | |
| #define | RAPIDJSON_NEW(TypeName) new TypeName |
! customization point for global new More... | |
| #define | RAPIDJSON_PATCH_VERSION 0 |
| Patch version of RapidJSON in integer. More... | |
| #define | RAPIDJSON_SETPOINTER(type, p, x) (p = (x)) |
| #define | RAPIDJSON_STATIC_ASSERT(x) |
| (Internal) macro to check for conditions at compile-time More... | |
| #define | RAPIDJSON_UINT64_C2(high32, low32) ((static_cast<uint64_t>(high32) << 32) | static_cast<uint64_t>(low32)) |
| Construct a 64-bit literal by a pair of 32-bit integer. More... | |
| #define | RAPIDJSON_UNLIKELY(x) (x) |
| Compiler branching hint for expression with low probability to be true. More... | |
| #define | RAPIDJSON_VERSION_STRING RAPIDJSON_STRINGIFY(RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION) |
| Version of RapidJSON in "<major>.<minor>.<patch>" string format. More... | |
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.) More... | |
common definitions and configuration
Definition in file rapidjson.h.
| #define RAPIDJSON_64BIT 0 |
Whether using 64-bit architecture.
Definition at line 261 of file rapidjson.h.
| #define RAPIDJSON_BIGENDIAN 1 |
Big endian machine.
Definition at line 199 of file rapidjson.h.
| #define RAPIDJSON_DELETE | ( | x | ) | delete x |
! customization point for global delete
Definition at line 603 of file rapidjson.h.
| #define RAPIDJSON_GETPOINTER | ( | type, | |
| p | |||
| ) | (p) |
Definition at line 324 of file rapidjson.h.
| #define RAPIDJSON_LITTLEENDIAN 0 |
Little endian machine.
Definition at line 198 of file rapidjson.h.
| #define RAPIDJSON_NEW | ( | TypeName | ) | new TypeName |
! customization point for global new
Definition at line 599 of file rapidjson.h.
| #define RAPIDJSON_SETPOINTER | ( | type, | |
| p, | |||
| x | |||
| ) | (p = (x)) |
Definition at line 323 of file rapidjson.h.
| #define RAPIDJSON_STATIC_ASSERT | ( | x | ) |
(Internal) macro to check for conditions at compile-time
| x | compile-time condition |
Definition at line 450 of file rapidjson.h.
| #define RAPIDJSON_UINT64_C2 | ( | high32, | |
| low32 | |||
| ) | ((static_cast<uint64_t>(high32) << 32) | static_cast<uint64_t>(low32)) |
Construct a 64-bit literal by a pair of 32-bit integer.
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 294 of file rapidjson.h.
| enum Type |
Type of JSON value.
| Enumerator | |
|---|---|
| kNullType |
null |
| kFalseType |
false |
| kTrueType |
true |
| kObjectType |
object |
| kArrayType |
array |
| kStringType |
string |
| kNumberType |
number |
Definition at line 616 of file rapidjson.h.
| RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType |
Size type (for string lengths, array sizes, etc.)
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 389 of file rapidjson.h.