NGL  6.5
The NCCA Graphics Library
UTF8< CharType > Struct Template Reference

UTF-8 encoding. More...

#include <encodings.h>

+ Collaboration diagram for UTF8< CharType >:

Public Types

enum  { supportUnicode = 1 }
 
typedef CharType Ch
 

Static Public Member Functions

template<typename OutputStream >
static void Encode (OutputStream &os, unsigned codepoint)
 
template<typename InputStream >
static bool Decode (InputStream &is, unsigned *codepoint)
 
template<typename InputStream , typename OutputStream >
static bool Validate (InputStream &is, OutputStream &os)
 
static unsigned char GetRange (unsigned char c)
 
template<typename InputByteStream >
static CharType TakeBOM (InputByteStream &is)
 
template<typename InputByteStream >
static Ch Take (InputByteStream &is)
 
template<typename OutputByteStream >
static void PutBOM (OutputByteStream &os)
 
template<typename OutputByteStream >
static void Put (OutputByteStream &os, Ch c)
 

Detailed Description

template<typename CharType = char>
struct UTF8< CharType >

UTF-8 encoding.

http://en.wikipedia.org/wiki/UTF-8 http://tools.ietf.org/html/rfc3629

Template Parameters
CharTypeCode unit for storing 8-bit UTF-8 data. Default is char.
Note
implements Encoding concept

Definition at line 96 of file encodings.h.

Member Typedef Documentation

template<typename CharType = char>
typedef CharType UTF8< CharType >::Ch

Definition at line 97 of file encodings.h.

Member Enumeration Documentation

template<typename CharType = char>
anonymous enum
Enumerator
supportUnicode 

Definition at line 99 of file encodings.h.

Member Function Documentation

template<typename CharType = char>
template<typename InputStream >
static bool UTF8< CharType >::Decode ( InputStream &  is,
unsigned *  codepoint 
)
inlinestatic

Definition at line 124 of file encodings.h.

References COPY, UTF8< CharType >::GetRange(), TAIL, and TRANS.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename CharType = char>
template<typename OutputStream >
static void UTF8< CharType >::Encode ( OutputStream &  os,
unsigned  codepoint 
)
inlinestatic

Definition at line 102 of file encodings.h.

References RAPIDJSON_ASSERT.

+ Here is the caller graph for this function:

template<typename CharType = char>
static unsigned char UTF8< CharType >::GetRange ( unsigned char  c)
inlinestatic

Definition at line 178 of file encodings.h.

+ Here is the caller graph for this function:

template<typename CharType = char>
template<typename OutputByteStream >
static void UTF8< CharType >::Put ( OutputByteStream &  os,
Ch  c 
)
inlinestatic

Definition at line 222 of file encodings.h.

References RAPIDJSON_STATIC_ASSERT.

template<typename CharType = char>
template<typename OutputByteStream >
static void UTF8< CharType >::PutBOM ( OutputByteStream &  os)
inlinestatic

Definition at line 216 of file encodings.h.

References RAPIDJSON_STATIC_ASSERT.

template<typename CharType = char>
template<typename InputByteStream >
static Ch UTF8< CharType >::Take ( InputByteStream &  is)
inlinestatic

Definition at line 210 of file encodings.h.

References RAPIDJSON_STATIC_ASSERT.

+ Here is the caller graph for this function:

template<typename CharType = char>
template<typename InputByteStream >
static CharType UTF8< CharType >::TakeBOM ( InputByteStream &  is)
inlinestatic

Definition at line 197 of file encodings.h.

References RAPIDJSON_STATIC_ASSERT, and UTF8< CharType >::Take().

+ Here is the call graph for this function:

template<typename CharType = char>
template<typename InputStream , typename OutputStream >
static bool UTF8< CharType >::Validate ( InputStream &  is,
OutputStream &  os 
)
inlinestatic

Definition at line 153 of file encodings.h.

References COPY, UTF8< CharType >::GetRange(), TAIL, and TRANS.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this struct was generated from the following file: