namespace Core::Text::UTFCodec
namespace UTFCodec {
// typedefs
typedef int (*DecodeFunction)(
uchar32 &c,
const unsigned char *sourceBuffer,
int sourceSize
);
typedef int (*EncodeFunction)(
uchar32 c,
unsigned char *destBuffer,
int destSize
);
// global variables
static const int kBufferTooSmall = 0;
static const int kIllegalInput = -1;
// global functions
uchar32 get16Bit(const unsigned char* sourceBuffer, int byteOrder);
void write16Bit(uint16 w, unsigned char* destBuffer, int byteOrder);
int decodeUTF8(uchar32& c, const unsigned char* sourceBuffer, int sourceSize);
int encodeUTF8(uchar32 c, unsigned char* destBuffer, int destSize);
bool isHighSurrogateUTF16(uchar c);
bool isLowSurrogateUTF16(uchar c);
uchar32 makeSurrogatePairUTF16(uchar high, uchar low);
int decodeUTF16(
uchar32& c,
const unsigned char* sourceBuffer,
int sourceSize,
int byteOrder
);
int encodeUTF16(
uchar32 c,
unsigned char* destBuffer,
int destSize,
int byteOrder
);
int decodeUTF16(uchar32& c, const unsigned char* sourceBuffer, int sourceSize);
int encodeUTF16(uchar32 c, unsigned char* destBuffer, int destSize);
} // namespace UTFCodec