class axl::enc::CharCodec
#include <axl_enc_CharCodec.h>
class CharCodec
{
public:
// construction
CharCodec();
// methods
size_t
getUnitSize();
virtual
size_t
calcRequiredBufferSizeToEncode_utf8(
const utf8_t* p,
size_t length
) = 0;
virtual
size_t
calcRequiredBufferSizeToEncode_utf16(
const utf16_t* p,
size_t length
) = 0;
virtual
size_t
calcRequiredBufferSizeToEncode_utf32(
const utf32_t* p,
size_t length
) = 0;
size_t
calcRequiredBufferSizeToEncode_utf8(const sl::StringRef_utf8& string);
size_t
calcRequiredBufferSizeToEncode_utf16(const sl::StringRef_utf16& string);
size_t
calcRequiredBufferSizeToEncode_utf32(const sl::StringRef_utf32& string);
virtual
size_t
encode_utf8(
void* buffer,
size_t bufferSize,
const utf8_t* p,
size_t length,
size_t* takenLength = NULL
) = 0;
virtual
size_t
encode_utf16(
void* buffer,
size_t bufferSize,
const utf16_t* p,
size_t length,
size_t* takenLength = NULL
) = 0;
virtual
size_t
encode_utf32(
void* buffer,
size_t bufferSize,
const utf32_t* p,
size_t length,
size_t* takenLength = NULL
) = 0;
size_t
encode_utf8(
sl::Array<char>* buffer,
const utf8_t* p,
size_t length
);
size_t
encode_utf16(
sl::Array<char>* buffer,
const utf16_t* p,
size_t length
);
size_t
encode_utf32(
sl::Array<char>* buffer,
const utf32_t* p,
size_t length
);
size_t
encode_utf8(
sl::Array<char>* buffer,
const sl::StringRef_utf8& string
);
size_t
encode_utf16(
sl::Array<char>* buffer,
const sl::StringRef_utf16& string
);
size_t
encode_utf32(
sl::Array<char>* buffer,
const sl::StringRef_utf32& string
);
sl::Array<char>
encode_utf8(
const utf8_t* p,
size_t length
);
sl::Array<char>
encode_utf16(
const utf16_t* p,
size_t length
);
sl::Array<char>
encode_utf32(
const utf32_t* p,
size_t length
);
sl::Array<char>
encode_utf8(const sl::StringRef_utf8& string);
sl::Array<char>
encode_utf16(const sl::StringRef_utf16& string);
sl::Array<char>
encode_utf32(const sl::StringRef_utf32& string);
virtual
size_t
calcRequiredBufferLengthToDecode_utf8(
const void* p,
size_t size
) = 0;
virtual
size_t
calcRequiredBufferLengthToDecode_utf16(
const void* p,
size_t size
) = 0;
virtual
size_t
calcRequiredBufferLengthToDecode_utf32(
const void* p,
size_t size
) = 0;
virtual
size_t
decode_utf8(
utf8_t* buffer,
size_t bufferLength,
const void* p,
size_t size,
size_t* takenSize = NULL
) = 0;
virtual
size_t
decode_utf16(
utf16_t* buffer,
size_t bufferLength,
const void* p,
size_t size,
size_t* takenSize = NULL
) = 0;
virtual
size_t
decode_utf32(
utf32_t* buffer,
size_t bufferLength,
const void* p,
size_t size,
size_t* takenSize = NULL
) = 0;
virtual
size_t
decode_utf32(
uchar_t* cplBuffer,
utf32_t* textBuffer,
size_t bufferLength,
const void* p,
size_t size,
size_t* takenSize = NULL
) = 0;
size_t
decode_utf8(
sl::String_utf8* string,
const void* p,
size_t size
);
size_t
decode_utf16(
sl::String_utf16* string,
const void* p,
size_t size
);
size_t
decode_utf32(
sl::String_utf32* string,
const void* p,
size_t size
);
sl::String_utf8
decode_utf8(
const void* p,
size_t size
);
sl::String_utf16
decode_utf16(
const void* p,
size_t size
);
sl::String_utf32
decode_utf32(
const void* p,
size_t size
);
};