Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at Visual Studio 2017 Documentation.
Wraps the type of an array element.
Syntax
// CLASS tuple_element (find element by index)
template <size_t Index, class Tuple>
struct tuple_element;
template <size_t Index, class T, size_t Size>
struct tuple_element<Index, array<T, Size>>
// tuple_element for const
template <size_t Index, class Tuple>
struct tuple_element<Index, const Tuple>;
// tuple_element for volatile
template <size_t Index, class Tuple>
struct tuple_element<Index, volatile Tuple>;
// tuple_element for const volatile
template <size_t Index, class Tuple>
struct tuple_element<Index, const volatile Tuple>;
template <size_t Index, class Tuple>
using tuple_element_t = typename tuple_element<Index, Tuple>::type;
Parameters
Index
The element position.
T
The type of an element.
N
The size of the array.
Remarks
This template class is a specialization of the template class tuple_element Class for arrays. This class provides an interface to an array as a tuple of N elements, each of which has the same type. Each specialization has a nested typedef type that is a synonym for the type of the Index element of the array, with any const-volatile qualifications preserved.
Example
#include <array>
#include <iostream>
using namespace std;
typedef array<int, 4> MyArray;
int main()
{
MyArray c0 { 0, 1, 2, 3 };
for (const auto& e : c0)
{
cout << " " << e;
}
cout << endl;
// display first element " 0"
tuple_element<0, MyArray>::type val = c0.front();
cout << " " << val << endl;
}
/*
Output:
0 1 2 3
0
*/
Requirements
Header: <array>
Namespace: std