Library: Foundation
Package: Core
Header: Poco/Tuple.h
Description
Tuple - a fixed-size collection of heterogeneous values.
This implementation uses std::tuple internally while maintaining backward compatibility with the original Poco::Tuple API.
Usage:
Tuple<int, std::string, double> t(42, "hello", 3.14);
int i = t.get<0>();
t.set<1>("world");
Member Summary
Member Functions: get, operator !=, operator <, operator =, operator ==, operator TupleType &, operator const TupleType &, set
Types Aliases
TupleType
using TupleType = typename Detail::TypeListToTuple < Type >::Type;
Type
using Type = typename TypeListType < 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 >::HeadType;
Enumerations
TupleLengthType
length = Type::length
Constructors
Tuple
Tuple();
Tuple
Tuple
Tuple(
const T0 & t0,
const T1 & t1 = Detail::DefaultValue < T1 >::get (),
const T2 & t2 = Detail::DefaultValue < T2 >::get (),
const T3 & t3 = Detail::DefaultValue < T3 >::get (),
const T4 & t4 = Detail::DefaultValue < T4 >::get (),
const T5 & t5 = Detail::DefaultValue < T5 >::get (),
const T6 & t6 = Detail::DefaultValue < T6 >::get (),
const T7 & t7 = Detail::DefaultValue < T7 >::get (),
const T8 & t8 = Detail::DefaultValue < T8 >::get (),
const T9 & t9 = Detail::DefaultValue < T9 >::get (),
const T10 & t10 = Detail::DefaultValue < T10 >::get (),
const T11 & t11 = Detail::DefaultValue < T11 >::get (),
const T12 & t12 = Detail::DefaultValue < T12 >::get (),
const T13 & t13 = Detail::DefaultValue < T13 >::get (),
const T14 & t14 = Detail::DefaultValue < T14 >::get (),
const T15 & t15 = Detail::DefaultValue < T15 >::get (),
const T16 & t16 = Detail::DefaultValue < T16 >::get (),
const T17 & t17 = Detail::DefaultValue < T17 >::get (),
const T18 & t18 = Detail::DefaultValue < T18 >::get (),
const T19 & t19 = Detail::DefaultValue < T19 >::get (),
const T20 & t20 = Detail::DefaultValue < T20 >::get (),
const T21 & t21 = Detail::DefaultValue < T21 >::get (),
const T22 & t22 = Detail::DefaultValue < T22 >::get (),
const T23 & t23 = Detail::DefaultValue < T23 >::get (),
const T24 & t24 = Detail::DefaultValue < T24 >::get (),
const T25 & t25 = Detail::DefaultValue < T25 >::get (),
const T26 & t26 = Detail::DefaultValue < T26 >::get (),
const T27 & t27 = Detail::DefaultValue < T27 >::get (),
const T28 & t28 = Detail::DefaultValue < T28 >::get (),
const T29 & t29 = Detail::DefaultValue < T29 >::get (),
const T30 & t30 = Detail::DefaultValue < T30 >::get (),
const T31 & t31 = Detail::DefaultValue < T31 >::get (),
const T32 & t32 = Detail::DefaultValue < T32 >::get (),
const T33 & t33 = Detail::DefaultValue < T33 >::get (),
const T34 & t34 = Detail::DefaultValue < T34 >::get (),
const T35 & t35 = Detail::DefaultValue < T35 >::get (),
const T36 & t36 = Detail::DefaultValue < T36 >::get (),
const T37 & t37 = Detail::DefaultValue < T37 >::get (),
const T38 & t38 = Detail::DefaultValue < T38 >::get (),
const T39 & t39 = Detail::DefaultValue < T39 >::get ()
);
Member Functions
get
template < std::size_t N > typename TypeGetter < N, Type >::HeadType & get();
get
template < std::size_t N > const typename TypeGetter < N, Type >::HeadType & get() const;
operator !=
bool operator != (
const Tuple & other
) const;
operator <
bool operator < (
const Tuple & other
) const;
operator =
Tuple & operator = (
const Tuple & other
);
operator ==
bool operator == (
const Tuple & other
) const;
operator TupleType &
explicit operator TupleType & ();
operator const TupleType &
explicit operator const TupleType & () const;
set
template < std::size_t N > void set(
const typename TypeGetter < N, Type >::HeadType & val
);