Poco

template < class T0, class T1 = NullTypeList, class T2 = NullTypeList, class T3 = NullTypeList, class T4 = NullTypeList, class T5 = NullTypeList, class T6 = NullTypeList, class T7 = NullTypeList, class T8 = NullTypeList, class T9 = NullTypeList, class T10 = NullTypeList, class T11 = NullTypeList, class T12 = NullTypeList, class T13 = NullTypeList, class T14 = NullTypeList, class T15 = NullTypeList, class T16 = NullTypeList, class T17 = NullTypeList, class T18 = NullTypeList, class T19 = NullTypeList, class T20 = NullTypeList, class T21 = NullTypeList, class T22 = NullTypeList, class T23 = NullTypeList, class T24 = NullTypeList, class T25 = NullTypeList, class T26 = NullTypeList, class T27 = NullTypeList, class T28 = NullTypeList, class T29 = NullTypeList, class T30 = NullTypeList, class T31 = NullTypeList, class T32 = NullTypeList, class T33 = NullTypeList, class T34 = NullTypeList, class T35 = NullTypeList, class T36 = NullTypeList, class T37 = NullTypeList, class T38 = NullTypeList, class T39 = NullTypeList >

struct NamedTuple

Library: Foundation
Package: Core
Header: Poco/NamedTuple.h

Inheritance

Direct Base Classes: Tuple < T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39 >

All Base Classes: Tuple < T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39 >

Member Summary

Member Functions: get, getName, names, operator !=, operator <, operator ==, operator [], set, setName

Types

NameVec

typedef std::vector < std::string > NameVec;

NameVecPtr

typedef SharedPtr < NameVec > NameVecPtr;

TupleType

typedef Tuple < T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39 > TupleType;

Type

typedef typename Tuple < T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39 >::Type Type;

Constructors

NamedTuple inline

NamedTuple();

NamedTuple inline

NamedTuple(
    const NameVecPtr & rNames
);

NamedTuple inline

NamedTuple(
    typename TypeWrapper < T0 >::CONSTTYPE & t0,
    typename TypeWrapper < T1 >::CONSTTYPE & t1 = typename TypeWrapper < T1 >::TYPE (),
    typename TypeWrapper < T2 >::CONSTTYPE & t2 = typename TypeWrapper < T2 >::TYPE (),
    typename TypeWrapper < T3 >::CONSTTYPE & t3 = typename TypeWrapper < T3 >::TYPE (),
    typename TypeWrapper < T4 >::CONSTTYPE & t4 = typename TypeWrapper < T4 >::TYPE (),
    typename TypeWrapper < T5 >::CONSTTYPE & t5 = typename TypeWrapper < T5 >::TYPE (),
    typename TypeWrapper < T6 >::CONSTTYPE & t6 = typename TypeWrapper < T6 >::TYPE (),
    typename TypeWrapper < T7 >::CONSTTYPE & t7 = typename TypeWrapper < T7 >::TYPE (),
    typename TypeWrapper < T8 >::CONSTTYPE & t8 = typename TypeWrapper < T8 >::TYPE (),
    typename TypeWrapper < T9 >::CONSTTYPE & t9 = typename TypeWrapper < T9 >::TYPE (),
    typename TypeWrapper < T10 >::CONSTTYPE & t10 = typename TypeWrapper < T10 >::TYPE (),
    typename TypeWrapper < T11 >::CONSTTYPE & t11 = typename TypeWrapper < T11 >::TYPE (),
    typename TypeWrapper < T12 >::CONSTTYPE & t12 = typename TypeWrapper < T12 >::TYPE (),
    typename TypeWrapper < T13 >::CONSTTYPE & t13 = typename TypeWrapper < T13 >::TYPE (),
    typename TypeWrapper < T14 >::CONSTTYPE & t14 = typename TypeWrapper < T14 >::TYPE (),
    typename TypeWrapper < T15 >::CONSTTYPE & t15 = typename TypeWrapper < T15 >::TYPE (),
    typename TypeWrapper < T16 >::CONSTTYPE & t16 = typename TypeWrapper < T16 >::TYPE (),
    typename TypeWrapper < T17 >::CONSTTYPE & t17 = typename TypeWrapper < T17 >::TYPE (),
    typename TypeWrapper < T18 >::CONSTTYPE & t18 = typename TypeWrapper < T18 >::TYPE (),
    typename TypeWrapper < T19 >::CONSTTYPE & t19 = typename TypeWrapper < T19 >::TYPE (),
    typename TypeWrapper < T20 >::CONSTTYPE & t20 = typename TypeWrapper < T20 >::TYPE (),
    typename TypeWrapper < T21 >::CONSTTYPE & t21 = typename TypeWrapper < T21 >::TYPE (),
    typename TypeWrapper < T22 >::CONSTTYPE & t22 = typename TypeWrapper < T22 >::TYPE (),
    typename TypeWrapper < T23 >::CONSTTYPE & t23 = typename TypeWrapper < T23 >::TYPE (),
    typename TypeWrapper < T24 >::CONSTTYPE & t24 = typename TypeWrapper < T24 >::TYPE (),
    typename TypeWrapper < T25 >::CONSTTYPE & t25 = typename TypeWrapper < T25 >::TYPE (),
    typename TypeWrapper < T26 >::CONSTTYPE & t26 = typename TypeWrapper < T26 >::TYPE (),
    typename TypeWrapper < T27 >::CONSTTYPE & t27 = typename TypeWrapper < T27 >::TYPE (),
    typename TypeWrapper < T28 >::CONSTTYPE & t28 = typename TypeWrapper < T28 >::TYPE (),
    typename TypeWrapper < T29 >::CONSTTYPE & t29 = typename TypeWrapper < T29 >::TYPE (),
    typename TypeWrapper < T30 >::CONSTTYPE & t30 = typename TypeWrapper < T30 >::TYPE (),
    typename TypeWrapper < T31 >::CONSTTYPE & t31 = typename TypeWrapper < T31 >::TYPE (),
    typename TypeWrapper < T32 >::CONSTTYPE & t32 = typename TypeWrapper < T32 >::TYPE (),
    typename TypeWrapper < T33 >::CONSTTYPE & t33 = typename TypeWrapper < T33 >::TYPE (),
    typename TypeWrapper < T34 >::CONSTTYPE & t34 = typename TypeWrapper < T34 >::TYPE (),
    typename TypeWrapper < T35 >::CONSTTYPE & t35 = typename TypeWrapper < T35 >::TYPE (),
    typename TypeWrapper < T36 >::CONSTTYPE & t36 = typename TypeWrapper < T36 >::TYPE (),
    typename TypeWrapper < T37 >::CONSTTYPE & t37 = typename TypeWrapper < T37 >::TYPE (),
    typename TypeWrapper < T38 >::CONSTTYPE & t38 = typename TypeWrapper < T38 >::TYPE (),
    typename TypeWrapper < T39 >::CONSTTYPE & t39 = typename TypeWrapper < T39 >::TYPE ()
);

NamedTuple inline

NamedTuple(
    const NameVecPtr & rNames,
    typename TypeWrapper < T0 >::CONSTTYPE & t0,
    typename TypeWrapper < T1 >::CONSTTYPE & t1 = typename TypeWrapper < T1 >::TYPE (),
    typename TypeWrapper < T2 >::CONSTTYPE & t2 = typename TypeWrapper < T2 >::TYPE (),
    typename TypeWrapper < T3 >::CONSTTYPE & t3 = typename TypeWrapper < T3 >::TYPE (),
    typename TypeWrapper < T4 >::CONSTTYPE & t4 = typename TypeWrapper < T4 >::TYPE (),
    typename TypeWrapper < T5 >::CONSTTYPE & t5 = typename TypeWrapper < T5 >::TYPE (),
    typename TypeWrapper < T6 >::CONSTTYPE & t6 = typename TypeWrapper < T6 >::TYPE (),
    typename TypeWrapper < T7 >::CONSTTYPE & t7 = typename TypeWrapper < T7 >::TYPE (),
    typename TypeWrapper < T8 >::CONSTTYPE & t8 = typename TypeWrapper < T8 >::TYPE (),
    typename TypeWrapper < T9 >::CONSTTYPE & t9 = typename TypeWrapper < T9 >::TYPE (),
    typename TypeWrapper < T10 >::CONSTTYPE & t10 = typename TypeWrapper < T10 >::TYPE (),
    typename TypeWrapper < T11 >::CONSTTYPE & t11 = typename TypeWrapper < T11 >::TYPE (),
    typename TypeWrapper < T12 >::CONSTTYPE & t12 = typename TypeWrapper < T12 >::TYPE (),
    typename TypeWrapper < T13 >::CONSTTYPE & t13 = typename TypeWrapper < T13 >::TYPE (),
    typename TypeWrapper < T14 >::CONSTTYPE & t14 = typename TypeWrapper < T14 >::TYPE (),
    typename TypeWrapper < T15 >::CONSTTYPE & t15 = typename TypeWrapper < T15 >::TYPE (),
    typename TypeWrapper < T16 >::CONSTTYPE & t16 = typename TypeWrapper < T16 >::TYPE (),
    typename TypeWrapper < T17 >::CONSTTYPE & t17 = typename TypeWrapper < T17 >::TYPE (),
    typename TypeWrapper < T18 >::CONSTTYPE & t18 = typename TypeWrapper < T18 >::TYPE (),
    typename TypeWrapper < T19 >::CONSTTYPE & t19 = typename TypeWrapper < T19 >::TYPE (),
    typename TypeWrapper < T0 >::CONSTTYPE & t20 = typename TypeWrapper < T20 >::TYPE (),
    typename TypeWrapper < T1 >::CONSTTYPE & t21 = typename TypeWrapper < T21 >::TYPE (),
    typename TypeWrapper < T2 >::CONSTTYPE & t22 = typename TypeWrapper < T22 >::TYPE (),
    typename TypeWrapper < T3 >::CONSTTYPE & t23 = typename TypeWrapper < T23 >::TYPE (),
    typename TypeWrapper < T4 >::CONSTTYPE & t24 = typename TypeWrapper < T24 >::TYPE (),
    typename TypeWrapper < T5 >::CONSTTYPE & t25 = typename TypeWrapper < T25 >::TYPE (),
    typename TypeWrapper < T6 >::CONSTTYPE & t26 = typename TypeWrapper < T26 >::TYPE (),
    typename TypeWrapper < T7 >::CONSTTYPE & t27 = typename TypeWrapper < T27 >::TYPE (),
    typename TypeWrapper < T8 >::CONSTTYPE & t28 = typename TypeWrapper < T28 >::TYPE (),
    typename TypeWrapper < T9 >::CONSTTYPE & t29 = typename TypeWrapper < T29 >::TYPE (),
    typename TypeWrapper < T10 >::CONSTTYPE & t30 = typename TypeWrapper < T30 >::TYPE (),
    typename TypeWrapper < T11 >::CONSTTYPE & t31 = typename TypeWrapper < T31 >::TYPE (),
    typename TypeWrapper < T12 >::CONSTTYPE & t32 = typename TypeWrapper < T32 >::TYPE (),
    typename TypeWrapper < T13 >::CONSTTYPE & t33 = typename TypeWrapper < T33 >::TYPE (),
    typename TypeWrapper < T14 >::CONSTTYPE & t34 = typename TypeWrapper < T34 >::TYPE (),
    typename TypeWrapper < T15 >::CONSTTYPE & t35 = typename TypeWrapper < T35 >::TYPE (),
    typename TypeWrapper < T16 >::CONSTTYPE & t36 = typename TypeWrapper < T36 >::TYPE (),
    typename TypeWrapper < T17 >::CONSTTYPE & t37 = typename TypeWrapper < T37 >::TYPE (),
    typename TypeWrapper < T18 >::CONSTTYPE & t38 = typename TypeWrapper < T38 >::TYPE (),
    typename TypeWrapper < T19 >::CONSTTYPE & t39 = typename TypeWrapper < T39 >::TYPE ()
);

NamedTuple inline

NamedTuple(
    const std::string & n0,
    typename TypeWrapper < T0 >::CONSTTYPE & t0,
    const std::string & n1 = "B",
    typename TypeWrapper < T1 >::CONSTTYPE & t1 = typename TypeWrapper < T1 >::TYPE (),
    const std::string & n2 = "C",
    typename TypeWrapper < T2 >::CONSTTYPE & t2 = typename TypeWrapper < T2 >::TYPE (),
    const std::string & n3 = "D",
    typename TypeWrapper < T3 >::CONSTTYPE & t3 = typename TypeWrapper < T3 >::TYPE (),
    const std::string & n4 = "E",
    typename TypeWrapper < T4 >::CONSTTYPE & t4 = typename TypeWrapper < T4 >::TYPE (),
    const std::string & n5 = "F",
    typename TypeWrapper < T5 >::CONSTTYPE & t5 = typename TypeWrapper < T5 >::TYPE (),
    const std::string & n6 = "G",
    typename TypeWrapper < T6 >::CONSTTYPE & t6 = typename TypeWrapper < T6 >::TYPE (),
    const std::string & n7 = "H",
    typename TypeWrapper < T7 >::CONSTTYPE & t7 = typename TypeWrapper < T7 >::TYPE (),
    const std::string & n8 = "I",
    typename TypeWrapper < T8 >::CONSTTYPE & t8 = typename TypeWrapper < T8 >::TYPE (),
    const std::string & n9 = "J",
    typename TypeWrapper < T9 >::CONSTTYPE & t9 = typename TypeWrapper < T9 >::TYPE (),
    const std::string & n10 = "K",
    typename TypeWrapper < T10 >::CONSTTYPE & t10 = typename TypeWrapper < T10 >::TYPE (),
    const std::string & n11 = "L",
    typename TypeWrapper < T11 >::CONSTTYPE & t11 = typename TypeWrapper < T11 >::TYPE (),
    const std::string & n12 = "M",
    typename TypeWrapper < T12 >::CONSTTYPE & t12 = typename TypeWrapper < T12 >::TYPE (),
    const std::string & n13 = "N",
    typename TypeWrapper < T13 >::CONSTTYPE & t13 = typename TypeWrapper < T13 >::TYPE (),
    const std::string & n14 = "O",
    typename TypeWrapper < T14 >::CONSTTYPE & t14 = typename TypeWrapper < T14 >::TYPE (),
    const std::string & n15 = "P",
    typename TypeWrapper < T15 >::CONSTTYPE & t15 = typename TypeWrapper < T15 >::TYPE (),
    const std::string & n16 = "Q",
    typename TypeWrapper < T16 >::CONSTTYPE & t16 = typename TypeWrapper < T16 >::TYPE (),
    const std::string & n17 = "R",
    typename TypeWrapper < T17 >::CONSTTYPE & t17 = typename TypeWrapper < T17 >::TYPE (),
    const std::string & n18 = "S",
    typename TypeWrapper < T18 >::CONSTTYPE & t18 = typename TypeWrapper < T18 >::TYPE (),
    const std::string & n19 = "T",
    typename TypeWrapper < T19 >::CONSTTYPE & t19 = typename TypeWrapper < T19 >::TYPE (),
    const std::string & n20 = "U",
    typename TypeWrapper < T20 >::CONSTTYPE & t20 = typename TypeWrapper < T20 >::TYPE (),
    const std::string & n21 = "V",
    typename TypeWrapper < T21 >::CONSTTYPE & t21 = typename TypeWrapper < T21 >::TYPE (),
    const std::string & n22 = "W",
    typename TypeWrapper < T22 >::CONSTTYPE & t22 = typename TypeWrapper < T22 >::TYPE (),
    const std::string & n23 = "X",
    typename TypeWrapper < T23 >::CONSTTYPE & t23 = typename TypeWrapper < T23 >::TYPE (),
    const std::string & n24 = "Y",
    typename TypeWrapper < T24 >::CONSTTYPE & t24 = typename TypeWrapper < T24 >::TYPE (),
    const std::string & n25 = "Z",
    typename TypeWrapper < T25 >::CONSTTYPE & t25 = typename TypeWrapper < T25 >::TYPE (),
    const std::string & n26 = "A1",
    typename TypeWrapper < T26 >::CONSTTYPE & t26 = typename TypeWrapper < T26 >::TYPE (),
    const std::string & n27 = "B1",
    typename TypeWrapper < T27 >::CONSTTYPE & t27 = typename TypeWrapper < T27 >::TYPE (),
    const std::string & n28 = "C1",
    typename TypeWrapper < T28 >::CONSTTYPE & t28 = typename TypeWrapper < T28 >::TYPE (),
    const std::string & n29 = "D1",
    typename TypeWrapper < T29 >::CONSTTYPE & t29 = typename TypeWrapper < T29 >::TYPE (),
    const std::string & n30 = "E1",
    typename TypeWrapper < T30 >::CONSTTYPE & t30 = typename TypeWrapper < T30 >::TYPE (),
    const std::string & n31 = "F1",
    typename TypeWrapper < T31 >::CONSTTYPE & t31 = typename TypeWrapper < T31 >::TYPE (),
    const std::string & n32 = "G1",
    typename TypeWrapper < T32 >::CONSTTYPE & t32 = typename TypeWrapper < T32 >::TYPE (),
    const std::string & n33 = "H1",
    typename TypeWrapper < T33 >::CONSTTYPE & t33 = typename TypeWrapper < T33 >::TYPE (),
    const std::string & n34 = "I1",
    typename TypeWrapper < T34 >::CONSTTYPE & t34 = typename TypeWrapper < T34 >::TYPE (),
    const std::string & n35 = "J1",
    typename TypeWrapper < T35 >::CONSTTYPE & t35 = typename TypeWrapper < T35 >::TYPE (),
    const std::string & n36 = "K1",
    typename TypeWrapper < T36 >::CONSTTYPE & t36 = typename TypeWrapper < T36 >::TYPE (),
    const std::string & n37 = "L1",
    typename TypeWrapper < T37 >::CONSTTYPE & t37 = typename TypeWrapper < T37 >::TYPE (),
    const std::string & n38 = "M1",
    typename TypeWrapper < T38 >::CONSTTYPE & t38 = typename TypeWrapper < T38 >::TYPE (),
    const std::string & n39 = "N1",
    typename TypeWrapper < T39 >::CONSTTYPE & t39 = typename TypeWrapper < T39 >::TYPE ()
);

Member Functions

get inline

const Dynamic::Var get(
    const std::string & name
) const;

get inline

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

get inline

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

getName inline

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

names inline

const NameVecPtr & names();

operator != inline

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

operator < inline

bool operator < (
    const NamedTuple & other
) const;

operator == inline

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

operator [] inline

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

set inline

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

setName inline

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