common definitions and configuration 更多...
#include <cstdlib>#include <cstring>#include <string>#include <cassert>命名空间 | |
| rapidjson | |
| main RapidJSON namespace | |
宏定义 | |
| #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_HAS_STDSTRING |
Enable RapidJSON support for std::string 更多... | |
| #define | RAPIDJSON_NO_INT64DEFINE |
| Use external 64-bit integer types. 更多... | |
| #define | RAPIDJSON_LITTLEENDIAN 0 |
| Little endian machine | |
| #define | RAPIDJSON_BIGENDIAN 1 |
| Big endian machine | |
| #define | RAPIDJSON_ENDIAN |
| Endianness of the machine. 更多... | |
| #define | RAPIDJSON_64BIT 0 |
| Whether using 64-bit architecture | |
| #define | RAPIDJSON_ALIGN(x) (((x) + static_cast<size_t>(7u)) & ~static_cast<size_t>(7u)) |
| Data alignment of the machine. 更多... | |
| #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. 更多... | |
| #define | RAPIDJSON_48BITPOINTER_OPTIMIZATION 0 |
| Use only lower 48-bit address for some pointers. 更多... | |
| #define | RAPIDJSON_SETPOINTER(type, p, x) (p = (x)) |
| #define | RAPIDJSON_GETPOINTER(type, p) (p) |
| #define | RAPIDJSON_SIMD |
| Enable SSE2/SSE4.2/Neon optimization. 更多... | |
| #define | RAPIDJSON_NO_SIZETYPEDEFINE |
User-provided SizeType definition. 更多... | |
| #define | RAPIDJSON_ASSERT(x) assert(x) |
| Assertion. 更多... | |
| #define | RAPIDJSON_STATIC_ASSERT(x) |
| (Internal) macro to check for conditions at compile-time 更多... | |
| #define | RAPIDJSON_LIKELY(x) (x) |
| Compiler branching hint for expression with high probability to be true. 更多... | |
| #define | RAPIDJSON_UNLIKELY(x) (x) |
| Compiler branching hint for expression with low probability to be true. 更多... | |
| #define | RAPIDJSON_NOEXCEPT_ASSERT(x) RAPIDJSON_ASSERT(x) |
| Assertion (in non-throwing contexts). 更多... | |
| #define | RAPIDJSON_MALLOC(size) std::malloc(size) |
! customization point for global malloc | |
| #define | RAPIDJSON_REALLOC(ptr, new_size) std::realloc(ptr, new_size) |
! customization point for global realloc | |
| #define | RAPIDJSON_FREE(ptr) std::free(ptr) |
! customization point for global free | |
| #define | RAPIDJSON_NEW(TypeName) new TypeName |
! customization point for global new | |
| #define | RAPIDJSON_DELETE(x) delete x |
! customization point for global delete | |
类型定义 | |
| typedef unsigned | rapidjson::SizeType |
| Size type (for string lengths, array sizes, etc.) 更多... | |
枚举 | |
| enum | rapidjson::Type { rapidjson::kNullType = 0, rapidjson::kFalseType = 1, rapidjson::kTrueType = 2, rapidjson::kObjectType = 3, rapidjson::kArrayType = 4, rapidjson::kStringType = 5, rapidjson::kNumberType = 6 } |
| Type of JSON value 更多... | |
common definitions and configuration
| #define RAPIDJSON_STATIC_ASSERT | ( | x | ) |
(Internal) macro to check for conditions at compile-time
| x | compile-time condition |
| #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.