Classes | Macros | Enumerations | Functions
encodings.h File Reference
#include "rapidjson.h"

Go to the source code of this file.

Classes

struct  UTF8< CharType >
 UTF-8 encoding. More...
 
struct  UTF16< CharType >
 UTF-16 encoding. More...
 
struct  UTF16LE< CharType >
 UTF-16 little endian encoding. More...
 
struct  UTF16BE< CharType >
 UTF-16 big endian encoding. More...
 
struct  UTF32< CharType >
 UTF-32 encoding. More...
 
struct  UTF32LE< CharType >
 UTF-32 little endian enocoding. More...
 
struct  UTF32BE< CharType >
 UTF-32 big endian encoding. More...
 
struct  ASCII< CharType >
 ASCII encoding. More...
 
struct  AutoUTF< CharType >
 Dynamically select encoding according to stream's runtime-specified UTF encoding type. More...
 
struct  Transcoder< SourceEncoding, TargetEncoding >
 Encoding conversion. More...
 
struct  Transcoder< Encoding, Encoding >
 Specialization of Transcoder with same source and target encoding. More...
 

Macros

#define RAPIDJSON_COPY()   c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast<unsigned char>(c) & 0x3Fu)
 
#define RAPIDJSON_TRANS(mask)   result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)
 
#define RAPIDJSON_TAIL()   RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70)
 
#define RAPIDJSON_COPY()   os.Put(c = is.Take())
 
#define RAPIDJSON_TRANS(mask)   result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)
 
#define RAPIDJSON_TAIL()   RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70)
 
#define RAPIDJSON_ENCODINGS_FUNC(x)   UTF8<Ch>::x, UTF16LE<Ch>::x, UTF16BE<Ch>::x, UTF32LE<Ch>::x, UTF32BE<Ch>::x
 

Enumerations

enum  UTFType {
  kUTF8 = 0, kUTF16LE = 1, kUTF16BE = 2, kUTF32LE = 3,
  kUTF32BE = 4
}
 Runtime-specified UTF encoding type of a stream. More...
 

Functions

template<typename Stream >
void PutUnsafe (Stream &stream, typename Stream::Ch c)
 Write character to a stream, presuming buffer is reserved. More...
 

Macro Definition Documentation

#define RAPIDJSON_COPY ( )    c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast<unsigned char>(c) & 0x3Fu)
#define RAPIDJSON_COPY ( )    os.Put(c = is.Take())
#define RAPIDJSON_ENCODINGS_FUNC (   x)    UTF8<Ch>::x, UTF16LE<Ch>::x, UTF16BE<Ch>::x, UTF32LE<Ch>::x, UTF32BE<Ch>::x

Definition at line 620 of file encodings.h.

#define RAPIDJSON_TAIL ( )    RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70)
#define RAPIDJSON_TAIL ( )    RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70)
#define RAPIDJSON_TRANS (   mask)    result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)
#define RAPIDJSON_TRANS (   mask)    result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)

Enumeration Type Documentation

enum UTFType

Runtime-specified UTF encoding type of a stream.

Enumerator
kUTF8 

UTF-8.

kUTF16LE 

UTF-16 little endian.

kUTF16BE 

UTF-16 big endian.

kUTF32LE 

UTF-32 little endian.

kUTF32BE 

UTF-32 big endian.

Definition at line 603 of file encodings.h.

603  {
604  kUTF8 = 0, //!< UTF-8.
605  kUTF16LE = 1, //!< UTF-16 little endian.
606  kUTF16BE = 2, //!< UTF-16 big endian.
607  kUTF32LE = 3, //!< UTF-32 little endian.
608  kUTF32BE = 4 //!< UTF-32 big endian.
609 };
UTF-32 big endian.
Definition: encodings.h:608
UTF-16 little endian.
Definition: encodings.h:605
UTF-8.
Definition: encodings.h:604
UTF-16 big endian.
Definition: encodings.h:606
UTF-32 little endian.
Definition: encodings.h:607

Function Documentation

template<typename Stream >
void PutUnsafe ( Stream &  stream,
typename Stream::Ch  c 
)
inline

Write character to a stream, presuming buffer is reserved.

Definition at line 91 of file stream.h.