Share via


tuple_element Class <array>

 

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

See Also

<array>
<tuple>
tuple_element Class