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

UTF-8 encoding. More...

#include <encodings.h>

Public Types

enum  { supportUnicode = 1 }
typedef CharType Ch

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)
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

Member Typedef Documentation

◆ Ch

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

Member Enumeration Documentation

◆ anonymous enum

template<typename CharType = char>
anonymous enum
Enumerator
supportUnicode 

Member Function Documentation

◆ Decode()

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

◆ Encode()

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

◆ EncodeUnsafe()

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

◆ GetRange()

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

◆ Put()

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

◆ PutBOM()

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

◆ Take()

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

◆ TakeBOM()

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

◆ Validate()

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

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