template struct Poco::NamedTuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, NullTypeList>

#include <NamedTuple.h>

template <
    class T0,
    class T1,
    class T2,
    class T3,
    class T4,
    class T5,
    class T6,
    class T7,
    class T8
    >
struct NamedTuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, NullTypeList>: public Poco::Tuple
{
    // typedefs

    typedef Tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8> TupleType;
    typedef Tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8>::Type Type;
    typedef std::vector<std::string> NameVec;
    typedef SharedPtr<NameVec> NameVecPtr;

    // construction

    NamedTuple();
    NamedTuple(const NameVecPtr& rNames);

    NamedTuple(
        typename TypeWrapper<T0>::CONSTTYPE& t0,
        typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
        typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
        typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
        typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
        typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
        typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
        typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
        typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8)
        );

    NamedTuple(
        const NameVecPtr& rNames,
        typename TypeWrapper<T0>::CONSTTYPE& t0,
        typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
        typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
        typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
        typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
        typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
        typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
        typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
        typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8)
        );

    NamedTuple(
        const std::string& n0,
        typename TypeWrapper<T0>::CONSTTYPE& t0,
        const std::string& n1 = "B",
        typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
        const std::string& n2 = "C",
        typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
        const std::string& n3 = "D",
        typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
        const std::string& n4 = "E",
        typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
        const std::string& n5 = "F",
        typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
        const std::string& n6 = "G",
        typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
        const std::string& n7 = "H",
        typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
        const std::string& n8 = "I",
        typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8)
        );

    // methods

    const DynamicAny
    get(const std::string& name) const;

    const DynamicAny
    operator[](const std::string& name) const;

    template <int N>
    TypeGetter<N, Type>::ConstHeadType&
    get() const;

    template <int N>
    TypeGetter<N, Type>::HeadType&
    get();

    template <int N>
    void
    set(typename TypeGetter<N, Type>::ConstHeadType& val);

    const NameVecPtr&
    names();

    void
    setName(
        std::size_t index,
        const std::string& name
        );

    const std::string&
    getName(std::size_t index);

    bool
    operator==(const NamedTuple& other) const;

    bool
    operator!=(const NamedTuple& other) const;

    bool
    operator<(const NamedTuple& other) const;
};

Inherited Members

public:
    // typedefs

    typedef TypeListType<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::HeadType Type;

    // enums

    enum TupleLengthType;

    // methods

    template <int N>
    TypeGetter<N, Type>::ConstHeadType&
    get() const;

    template <int N>
    TypeGetter<N, Type>::HeadType&
    get();

    template <int N>
    void
    set(typename TypeGetter<N, Type>::ConstHeadType& val);

    bool
    operator==(const Tuple& other) const;

    bool
    operator!=(const Tuple& other) const;

    bool
    operator<(const Tuple& other) const;