Namespaces | Macros | Enumerations | Variables
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

 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) + static_cast<size_t>(7u)) & ~static_cast<size_t>(7u))
 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
 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
 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_NOEXCEPT_ASSERT(x)   RAPIDJSON_ASSERT(x)
 Assertion (in non-throwing contexts). 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...
 

Detailed Description

common definitions and configuration

See also
RapidJSON configuration

Definition in file rapidjson.h.

Macro Definition Documentation

#define RAPIDJSON_64BIT   0

Whether using 64-bit architecture.

Definition at line 266 of file rapidjson.h.

#define RAPIDJSON_BIGENDIAN   1

Big endian machine.

Definition at line 201 of file rapidjson.h.

#define RAPIDJSON_DELETE (   x)    delete x

! customization point for global delete

Definition at line 653 of file rapidjson.h.

#define RAPIDJSON_GETPOINTER (   type,
 
)    (p)

Definition at line 330 of file rapidjson.h.

#define RAPIDJSON_LITTLEENDIAN   0

Little endian machine.

Definition at line 200 of file rapidjson.h.

#define RAPIDJSON_NEW (   TypeName)    new TypeName

! customization point for global new

Definition at line 649 of file rapidjson.h.

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

Definition at line 329 of file rapidjson.h.

#define RAPIDJSON_STATIC_ASSERT (   x)

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

Parameters
xcompile-time condition

Definition at line 465 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.

Enumeration Type Documentation

enum Type

Type of JSON value.

Enumerator
kNullType 

null

kFalseType 

false

kTrueType 

true

kObjectType 

object

kArrayType 

array

kStringType 

string

kNumberType 

number

Definition at line 666 of file rapidjson.h.

Variable Documentation

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 394 of file rapidjson.h.



xbot_talker
Author(s): wangxiaoyun
autogenerated on Sat Oct 10 2020 03:27:54