template class mrpt::typemeta::array_string

#include <mrpt/typemeta/static_string.h>

template <int N>
class array_string
{
public:
    // construction

    template <int N1, REQUIRES(N1<=N)>
    array_string(const string_literal<N1>& s1, const string_literal<N - N1>& s2);

    template <int N1, REQUIRES(N1<=N)>
    array_string(
        const array_string<N1>& s1,
        const string_literal<N - N1>& s2
        );

    template <int N1, REQUIRES(N1<=N)>
    array_string(
        const array_string<N1>& s1,
        const array_string<N - N1>& s2
        );

    //
methods

    constexpr std::size_t size() const;
    constexpr char operator [] (int i) const;
    constexpr const char* c_str() const;
    constexpr operator const char * () const;
    operator std::string () const;
};

Construction

template <int N1, REQUIRES(N1<=N)>
array_string(
    const string_literal<N1>& s1,
    const string_literal<N - N1>& s2
    )

ctor: literal + literal

template <int N1, REQUIRES(N1<=N)>
array_string(
    const array_string<N1>& s1,
    const string_literal<N - N1>& s2
    )

ctor: string + literal

template <int N1, REQUIRES(N1<=N)>
array_string(
    const array_string<N1>& s1,
    const array_string<N - N1>& s2
    )

ctor: string + string