template class axl::enc::UtfConvert

#include <axl_enc_Utf.h>

template <
    typename DstEncoding0,
    typename SrcEncoding0,
    typename CaseOp = sl::NoOp<utf32_t>
    >
class UtfConvert
{
public:
    // typedefs

    typedef DstEncoding0 DstEncoding;
    typedef SrcEncoding0 SrcEncoding;
    typedef DstEncoding::C DstUnit;
    typedef SrcEncoding::C SrcUnit;

    // methods

    static
    size_t
    calcRequiredLength(
        const SrcUnit* p,
        size_t length
        );

    static
    size_t
    convert(
        DstUnit* dst,
        size_t dstLength,
        const SrcUnit* src,
        size_t srcLength,
        size_t* takenSrcLength_o = NULL
        );

    static
    size_t
    convert(
        uchar_t* cpl,
        DstUnit* dst,
        size_t dstLength,
        const SrcUnit* src,
        size_t srcLength,
        size_t* takenSrcLength_o = NULL
        );
};