Tuples
You can create tuples of arbitrary length and types with std::tuple
. The class template needs the header <tuple>
. std::tuple
is a generalization of std::pair
. You can convert between tuples with two elements and pairs. The tuple has, like his small brother std::pair
, a default, a copy and a move constructor. You can swap tuples with the function std::swap
.
The i-th element of a tuple t can be referenced by the function template std::get
: std::get<i-1>(t)
. By std::get<type>(t)
you can directly refer to the element of the type type
.
Tuples support the comparison operators ==
, !=
, <
, >
, <=
and >=
. If you compare two tuples, the elements of the tuples will be compared lexicographically. The comparison starts at the index 0.
std::make_tuple
The helper function std::make_tuple
is quite convenient for the creation of tuples. You don’t have to provide the types.The compiler automatically deduces them.