webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
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  StreamTraits< Stream >
 Provides additional information for stream. More...
 
struct  GenericStringStream< Encoding >
 Read-only string stream. More...
 
struct  StreamTraits< GenericStringStream< Encoding > >
 
struct  GenericInsituStringStream< Encoding >
 A read-write string stream. More...
 
struct  StreamTraits< GenericInsituStringStream< Encoding > >
 

Namespaces

 rapidjson
 main RapidJSON namespace
 

Macros

#define RAPIDJSON_NAMESPACE   rapidjson
 provide custom rapidjson namespace More...
 
#define RAPIDJSON_NAMESPACE_BEGIN   namespace RAPIDJSON_NAMESPACE {
 provide custom rapidjson namespace (opening expression) More...
 
#define RAPIDJSON_NAMESPACE_END   }
 provide custom rapidjson namespace (closing expression) More...
 
#define RAPIDJSON_LITTLEENDIAN   0
 Little endian machine. More...
 
#define RAPIDJSON_BIGENDIAN   1
 Big endian machine. More...
 
#define RAPIDJSON_64BIT   0
 Whether using 64-bit architecture. More...
 
#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_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 More...
 
#define RAPIDJSON_DELETE(x)   delete x
 ! customization point for global delete More...
 

Typedefs

typedef GenericStringStream< UTF8<> > StringStream
 String stream with UTF8 encoding. More...
 
typedef GenericInsituStringStream< UTF8<> > InsituStringStream
 Insitu string stream with UTF8 encoding. More...
 

Enumerations

enum  Type {
  kNullType = 0, kFalseType = 1, kTrueType = 2, kObjectType = 3,
  kArrayType = 4, kStringType = 5, kNumberType = 6, Type::OpenType,
  Type::TrueType
}
 Type of JSON value. More...
 

Functions

template<typename Stream , typename Ch >
void PutN (Stream &stream, Ch c, size_t n)
 Put N copies of a character to a stream. 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

Macro Definition Documentation

◆ RAPIDJSON_64BIT

#define RAPIDJSON_64BIT   0

Whether using 64-bit architecture.

◆ RAPIDJSON_BIGENDIAN

#define RAPIDJSON_BIGENDIAN   1

Big endian machine.

◆ RAPIDJSON_DELETE

#define RAPIDJSON_DELETE (   x)    delete x

! customization point for global delete

◆ RAPIDJSON_LITTLEENDIAN

#define RAPIDJSON_LITTLEENDIAN   0

Little endian machine.

◆ RAPIDJSON_NEW

#define RAPIDJSON_NEW (   x)    new x

! customization point for global new

◆ RAPIDJSON_STATIC_ASSERT

#define RAPIDJSON_STATIC_ASSERT (   x)

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

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

Typedef Documentation

◆ InsituStringStream

Insitu string stream with UTF8 encoding.

◆ StringStream

String stream with UTF8 encoding.

Enumeration Type Documentation

◆ Type

Type of JSON value.

Enumerator
kNullType 

null

kFalseType 

false

kTrueType 

true

kObjectType 

object

kArrayType 

array

kStringType 

string

kNumberType 

number

OpenType 
TrueType 

Function Documentation

◆ PutN()

template<typename Stream , typename Ch >
void PutN ( Stream &  stream,
Ch  c,
size_t  n 
)
inline

Put N copies of a character to a stream.

Variable Documentation

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