class axl::enc::Utf8

#include <axl_enc_Utf.h>

class Utf8
{
public:
    // typedefs

    typedef utf8_t C;

    // methods

    static
    UtfKind
    getUtfKind();

    static
    const uint8_t*
    getBom();

    static
    size_t
    getBomLength();

    static
    size_t
    getDecodeCodePointLength(utf8_t c);

    static
    size_t
    getEncodeCodePointLength(utf32_t x);

    static
    utf32_t
    decodeCodePoint(const utf8_t* p);

    static
    void
    encodeCodePoint(
        utf8_t* p,
        utf32_t x
        );

    static
    size_t
    calcCodePointCount(
        const C* p,
        size_t length
        );
};