All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rapidjson.h File Reference

common definitions and configuration More...

#include <cstdlib>
#include <cstring>
#include <cassert>
#include "allocators.h"
#include "encodings.h"

Go to the source code of this file.

Classes

struct  rapidjson::StreamTraits< Stream >
 Provides additional information for stream. More...
 
struct  rapidjson::GenericStringStream< Encoding >
 Read-only string stream. More...
 
struct  rapidjson::StreamTraits< GenericStringStream< Encoding > >
 
struct  rapidjson::GenericInsituStringStream< Encoding >
 A read-write string stream. More...
 
struct  rapidjson::StreamTraits< GenericInsituStringStream< Encoding > >
 

Namespaces

 rapidjson
 main RapidJSON namespace
 

Macros

#define RAPIDJSON_MAJOR_VERSION   1
 Major version of RapidJSON in integer.
 
#define RAPIDJSON_MINOR_VERSION   0
 Minor version of RapidJSON in integer.
 
#define RAPIDJSON_PATCH_VERSION   2
 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 More...
 
#define RAPIDJSON_NO_INT64DEFINE
 Use external 64-bit integer types. More...
 
#define RAPIDJSON_LITTLEENDIAN   0
 Little endian machine.
 
#define RAPIDJSON_BIGENDIAN   1
 Big endian machine.
 
#define RAPIDJSON_ENDIAN
 Endianness of the machine. More...
 
#define RAPIDJSON_64BIT   0
 Whether using 64-bit architecture.
 
#define RAPIDJSON_ALIGN(x)   ((x + 3u) & ~3u)
 Data alignment of the machine. 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_SIMD
 Enable SSE2/SSE4.2 optimization. More...
 
#define RAPIDJSON_NO_SIZETYPEDEFINE
 User-provided SizeType definition. More...
 
#define RAPIDJSON_ASSERT(x)   assert(x)
 Assertion. More...
 
#define RAPIDJSON_STATIC_ASSERT(x)
 (Internal) macro to check for conditions at compile-time More...
 
#define RAPIDJSON_NEW(x)   new x
 ! customization point for global new
 
#define RAPIDJSON_DELETE(x)   delete x
 ! customization point for global delete
 

Typedefs

typedef unsigned rapidjson::SizeType
 Size type (for string lengths, array sizes, etc.) More...
 
typedef GenericStringStream
< UTF8<> > 
rapidjson::StringStream
 String stream with UTF8 encoding.
 
typedef
GenericInsituStringStream
< UTF8<> > 
rapidjson::InsituStringStream
 Insitu string stream with UTF8 encoding.
 

Enumerations

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

Functions

template<typename Stream , typename Ch >
void rapidjson::PutN (Stream &stream, Ch c, size_t n)
 Put N copies of a character to a stream.
 

Detailed Description

common definitions and configuration

See also
RapidJSON configuration

Macro Definition Documentation

#define RAPIDJSON_STATIC_ASSERT (   x)

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

Parameters
xcompile-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.