| unspecialized | template <size_t I, class T> class tuple_element; |
|---|---|
| generic cv-specializations | template <size_t I, class T> class tuple_element<const T>;template <size_t I, class T> class tuple_element<volatile T>;template <size_t I, class T> class tuple_element<const volatile T>; |
| tuple specialization | template <size_t I, class... Types> class tuple_element< I, tuple<Types...> >; |
<tuple> header, and for tuple-like types array and pair in their respective headers.const and/or volatile-qualified tuples, the class is specialized so that its type member has itself that same qualification.| member type | definition |
|---|---|
| type | The Ith type in the tuple object |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// tuple_element
#include <iostream> // std::cout
#include <tuple> // std::tuple, std::make_tuple, std::tuple_element, std::get
int main ()
{
auto mytuple = std::make_tuple (10,'a');
std::tuple_element<0,decltype(mytuple)>::type first = std::get<0>(mytuple);
std::tuple_element<1,decltype(mytuple)>::type second = std::get<1>(mytuple);
std::cout << "mytuple contains: " << first << " and " << second << '\n';
return 0;
}
mytuple contains: 10 and a