class axl::enc::Utf16
#include <axl_enc_Utf.h>
class Utf16
{
public:
// typedefs
typedef utf16_t C;
// enums
enum SurrogateKind;
// methods
static
UtfKind
getUtfKind();
static
const uint8_t*
getBom();
static
size_t
getBomLength();
static
bool
isLeadSurrogate(uint16_t c);
static
bool
isTrailSurrogate(uint16_t c);
static
bool
needSurrogate(uint32_t x);
static
utf16_t
getLeadSurrogate(uint32_t x);
static
utf16_t
getTrailSurrogate(uint32_t x);
static
utf32_t
getSurrogateCodePoint(
uint16_t lead,
uint16_t trail
);
static
size_t
getDecodeCodePointLength(utf16_t c);
static
size_t
getEncodeCodePointLength(utf32_t x);
static
utf32_t
decodeCodePoint(const utf16_t* p);
static
void
encodeCodePoint(
utf16_t* p,
utf32_t x
);
static
size_t
calcCodePointCount(
const C* p,
size_t length
);
};