RetroArch
Public Types | Public Member Functions | Static Public Member Functions | List of all members
UTF32< CharType > Struct Template Reference

UTF-32 encoding. More...

#include <encodings.h>

Inheritance diagram for UTF32< CharType >:
[legend]

Public Types

enum  { supportUnicode = 1 }
 
typedef CharType Ch
 

Public Member Functions

 RAPIDJSON_STATIC_ASSERT (sizeof(Ch) >=4)
 

Static Public Member Functions

template<typename OutputStream >
static void Encode (OutputStream &os, unsigned codepoint)
 
template<typename OutputStream >
static void EncodeUnsafe (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)
 

Detailed Description

template<typename CharType = unsigned>
struct UTF32< CharType >

UTF-32 encoding.

http://en.wikipedia.org/wiki/UTF-32

Template Parameters
CharTypeType for storing 32-bit UTF-32 data. Default is unsigned. C++11 may use char32_t instead.
Note
implements Encoding concept
For in-memory access, no need to concern endianness. The code units and code points are represented by CPU's endianness. For streaming, use UTF32LE and UTF32BE, which handle endianness.

Member Typedef Documentation

◆ Ch

template<typename CharType = unsigned>
typedef CharType UTF32< CharType >::Ch

Member Enumeration Documentation

◆ anonymous enum

template<typename CharType = unsigned>
anonymous enum
Enumerator
supportUnicode 

Member Function Documentation

◆ Decode()

template<typename CharType = unsigned>
template<typename InputStream >
static bool UTF32< CharType >::Decode ( InputStream &  is,
unsigned *  codepoint 
)
inlinestatic
Here is the caller graph for this function:

◆ Encode()

template<typename CharType = unsigned>
template<typename OutputStream >
static void UTF32< CharType >::Encode ( OutputStream &  os,
unsigned  codepoint 
)
inlinestatic
Here is the caller graph for this function:

◆ EncodeUnsafe()

template<typename CharType = unsigned>
template<typename OutputStream >
static void UTF32< CharType >::EncodeUnsafe ( OutputStream &  os,
unsigned  codepoint 
)
inlinestatic

◆ RAPIDJSON_STATIC_ASSERT()

template<typename CharType = unsigned>
UTF32< CharType >::RAPIDJSON_STATIC_ASSERT ( sizeof(Ch) >=  4)
Here is the caller graph for this function:

◆ Validate()

template<typename CharType = unsigned>
template<typename InputStream , typename OutputStream >
static bool UTF32< CharType >::Validate ( InputStream &  is,
OutputStream &  os 
)
inlinestatic
Here is the caller graph for this function:

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