template class axl::sl::StringDetailsImpl

#include <axl_sl_StringDetails.h>

template <typename T>
class StringDetailsImpl
{
public:
    // methods

    static
    const T*
    getEmptyString();

    static
    const T*
    getCrLf();

    static
    const T*
    getWhitespace();

    static
    size_t
    calcLength(const T* p);

    static
    size_t
    calcLength(
        const T* p,
        size_t maxLength
        );

    static
    int
    cmp(
        const T* p1,
        const T* p2,
        size_t length
        );

    static
    size_t
    find(
        const T* p,
        size_t length,
        T c
        );

    static
    size_t
    find(
        const T* p,
        size_t length,
        const T* subString,
        size_t subStringLength
        );

    static
    size_t
    findOneOf(
        const T* p,
        size_t length,
        const T* charSet,
        size_t charCount
        );

    static
    size_t
    findNotOneOf(
        const T* p,
        size_t length,
        const T* charSet,
        size_t charCount
        );

    static
    size_t
    reverseFind(
        const T* p,
        size_t length,
        T c
        );

    static
    size_t
    reverseFind(
        const T* p,
        size_t length,
        const T* subString,
        size_t subStringLength
        );

    static
    size_t
    reverseFindOneOf(
        const T* p,
        size_t length,
        const T* charSet,
        size_t charCount
        );

    static
    size_t
    reverseFindNotOneOf(
        const T* p,
        size_t length,
        const T* charSet,
        size_t charCount
        );

    static
    void
    fill(
        T* p,
        T c,
        size_t count
        );

    static
    void
    copy(
        T* dst,
        const T* src,
        size_t length
        );

    static
    void
    move(
        T* dst,
        const T* src,
        size_t length
        );
};