Monero
Loading...
Searching...
No Matches
UTF16< CharType > Struct Template Reference

UTF-16 encoding. More...

#include <encodings.h>

Public Types

enum  { supportUnicode = 1 }
typedef CharType Ch

Public Member Functions

 RAPIDJSON_STATIC_ASSERT (sizeof(Ch) >=2)

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 = wchar_t>
struct UTF16< CharType >

UTF-16 encoding.

http://en.wikipedia.org/wiki/UTF-16 http://tools.ietf.org/html/rfc2781

Template Parameters
CharTypeType for storing 16-bit UTF-16 data. Default is wchar_t. C++11 may use char16_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 UTF16LE and UTF16BE, which handle endianness.

Member Typedef Documentation

◆ Ch

template<typename CharType = wchar_t>
typedef CharType UTF16< CharType >::Ch

Member Enumeration Documentation

◆ anonymous enum

template<typename CharType = wchar_t>
anonymous enum
Enumerator
supportUnicode 

Member Function Documentation

◆ Decode()

template<typename CharType = wchar_t>
template<typename InputStream>
bool UTF16< CharType >::Decode ( InputStream & is,
unsigned * codepoint )
inlinestatic

◆ Encode()

template<typename CharType = wchar_t>
template<typename OutputStream>
void UTF16< CharType >::Encode ( OutputStream & os,
unsigned codepoint )
inlinestatic

◆ EncodeUnsafe()

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

◆ RAPIDJSON_STATIC_ASSERT()

template<typename CharType = wchar_t>
UTF16< CharType >::RAPIDJSON_STATIC_ASSERT ( sizeof(Ch) >= 2)

◆ Validate()

template<typename CharType = wchar_t>
template<typename InputStream, typename OutputStream>
bool UTF16< CharType >::Validate ( InputStream & is,
OutputStream & os )
inlinestatic

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