载入中...
搜索中...
未找到
rapidjson.h 文件参考

common definitions and configuration 更多...

#include <cstdlib>
#include <cstring>
#include <cassert>

浏览源代码.

命名空间

namespace  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_USE_MEMBERSMAP
 Enable RapidJSON support for object members handling in a std::multimap
 
#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

参见
RapidJSON configuration

宏定义说明

◆ RAPIDJSON_STATIC_ASSERT

#define RAPIDJSON_STATIC_ASSERT ( x)

(Internal) macro to check for conditions at compile-time

参数
xcompile-time condition

◆ RAPIDJSON_UINT64_C2

#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.