rapidjson.h File Reference
#include <cstdlib>
#include <cstring>
#include <inttypes.h>
#include <cassert>

Go to the source code of this file.

Classes

class  rapidjson::CrtAllocator
 C-runtime library allocator. More...
 
class  rapidjson::MemoryPoolAllocator< BaseAllocator >
 Default memory allocator used by the parser and DOM. More...
 
struct  rapidjson::MemoryPoolAllocator< BaseAllocator >::ChunkHeader
 Chunk header for perpending to each chunk. More...
 
struct  rapidjson::UTF8< CharType >
 UTF-8 encoding. More...
 
struct  rapidjson::UTF16< CharType >
 UTF-16 encoding. More...
 
struct  rapidjson::UTF32< CharType >
 UTF-32 encoding. More...
 
struct  rapidjson::GenericStringStream< Encoding >
 Read-only string stream. More...
 
struct  rapidjson::GenericInsituStringStream< Encoding >
 A read-write string stream. More...
 

Namespaces

 rapidjson
 

Macros

#define RAPIDJSON_LITTLEENDIAN   0
 Little endian machine. More...
 
#define RAPIDJSON_BIGENDIAN   1
 Big endian machine. More...
 
#define RAPIDJSON_ENDIAN   RAPIDJSON_LITTLEENDIAN
 Endianness of the machine. More...
 
#define RAPIDJSON_ASSERT(x)   assert(x)
 Assertion. More...
 
#define RAPIDJSON_MULTILINEMACRO_BEGIN   do {
 
#define RAPIDJSON_MULTILINEMACRO_END   } while((void)0, 0)
 

Typedefs

typedef unsigned rapidjson::SizeType
 Use 32-bit array/string indices even for 64-bit platform, instead of using size_t. More...
 
typedef GenericStringStream< UTF8<> > rapidjson::StringStream
 
typedef GenericInsituStringStream< UTF8<> > rapidjson::InsituStringStream
 

Enumerations

enum  rapidjson::Type {
  rapidjson::kNull_Type = 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. More...
 

Macro Definition Documentation

◆ RAPIDJSON_ASSERT

#define RAPIDJSON_ASSERT (   x)    assert(x)

Assertion.

By default, rapidjson uses C assert() for assertion. User can override it by defining RAPIDJSON_ASSERT(x) macro.

◆ RAPIDJSON_BIGENDIAN

#define RAPIDJSON_BIGENDIAN   1

Big endian machine.

◆ RAPIDJSON_ENDIAN

#define RAPIDJSON_ENDIAN   RAPIDJSON_LITTLEENDIAN

Endianness of the machine.

GCC provided macro for detecting endianness of the target machine. But other compilers may not have this. User can define RAPIDJSON_ENDIAN to either RAPIDJSON_LITTLEENDIAN or RAPIDJSON_BIGENDIAN.

◆ RAPIDJSON_LITTLEENDIAN

#define RAPIDJSON_LITTLEENDIAN   0

Little endian machine.

◆ RAPIDJSON_MULTILINEMACRO_BEGIN

#define RAPIDJSON_MULTILINEMACRO_BEGIN   do {

◆ RAPIDJSON_MULTILINEMACRO_END

#define RAPIDJSON_MULTILINEMACRO_END   } while((void)0, 0)