# 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 >

# 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 >

All Base Classes: Tuple < T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 >

## 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 > 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 >::Type Type;

## Constructors

### NamedTuple

NamedTuple();

### NamedTuple

NamedTuple(
const NameVecPtr & rNames
);

### NamedTuple

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 ()
);

### NamedTuple

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 ()
);

### NamedTuple

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 ()
);

## Member Functions

### get

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

### get

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

### get

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

### getName

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

### names

const NameVecPtr & names();

### operator

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

### operator !=

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

### operator <

bool operator < (
const NamedTuple & other
) const;

### operator ==

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

### set

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

### setName

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