class template specialization
<utility>
std::tuple_element<pair>
unspecialized | template <size_t I, class Tpl> class tuple_element; |
---|
access first | template <class T1, class T2> struct tuple_element <0, pair<T1,T2>>; |
---|
access second | template <class T1, class T2> struct tuple_element <1, pair<T1,T2>>; |
---|
Tuple element type for pair
Accesses the static type of the members of a pair object as if it was a tuple.
These class specializations simply provide a member called type, which aliases either T1 or T2, as if defined as:
1 2 3 4 5 6 7
|
template <size_t I, class Tpl> class tuple_element;
template <class T1, class T2> struct tuple_element <0, pair<T1,T2>>
{ typedef T1 type; };
template <class T1, class T2> struct tuple_element <1, pair<T1,T2>>
{ typedef T2 type; };
|
See tuple_element for more information.
Template parameters
- I
- Order number of the element within the pair (zero-based).
This is 0
to access the type of member first and 1
to access the type of member second.
If instantiated with any other values, the program is ill-formed.
size_t is an unsigned integral type.
- Tpl
- Tuple-like type. For these specializations:
pair<T1,T2>
.
- T1, T2
- Type of the elements in the pair.
Aliased as member type.
Member types
member type | definition |
type | T1 if I is 0 , or T2 id I is 1 .
|