std::tuple< _T1, _T2 > Class Template Reference
Utilities

`#include <tuple>`

Inheritance diagram for std::tuple< _T1, _T2 >:
[legend]

## Public Types

template<typename _Dummy >
using | _TCC = _TC< is_same< _Dummy, void >::value, _T1, _T2 >
using | _TMC = _TC< true, _T1, _T2 >

## Public Member Functions

template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >() &&!is_same< __remove_cvref_t< _U1 >, allocator_arg_t >::value, bool >::type = true>
constexpr | tuple (_U1 &&__a1, _U2 &&__a2)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >() &&!is_same< __remove_cvref_t< _U1 >, allocator_arg_t >::value, bool >::type = false>
constexpr | tuple (_U1 &&__a1, _U2 &&__a2)
template<typename _Alloc >
| tuple (allocator_arg_t __tag, const _Alloc &__a)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, _U1 &&__a1, _U2 &&__a2)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, _U1 &&__a1, _U2 &&__a2)
template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const _T1 &__a1, const _T2 &__a2)
template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const _T1 &__a1, const _T2 &__a2)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const pair< _U1, _U2 > &__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const pair< _U1, _U2 > &__in)
template<typename _Alloc >
| tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple &__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _U1, _U2 > &__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _U1, _U2 > &__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, pair< _U1, _U2 > &&__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, pair< _U1, _U2 > &&__in)
template<typename _Alloc >
| tuple (allocator_arg_t __tag, const _Alloc &__a, tuple &&__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>
| tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _U1, _U2 > &&__in)
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>
| tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _U1, _U2 > &&__in)
template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = true>
constexpr | tuple (const _T1 &__a1, const _T2 &__a2)
template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = false>
constexpr | tuple (const _T1 &__a1, const _T2 &__a2)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>
constexpr | tuple (const pair< _U1, _U2 > &__in)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>
constexpr | tuple (const pair< _U1, _U2 > &__in)
constexpr | tuple (const tuple &)=default
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>
constexpr | tuple (const tuple< _U1, _U2 > &__in)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>
constexpr | tuple (const tuple< _U1, _U2 > &__in)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>
constexpr | tuple (pair< _U1, _U2 > &&__in)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>
constexpr | tuple (pair< _U1, _U2 > &&__in)
constexpr | tuple (tuple &&)=default
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>
constexpr | tuple (tuple< _U1, _U2 > &&__in)
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>
constexpr | tuple (tuple< _U1, _U2 > &&__in)
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable< const _U1 &, const _U2 & >(), tuple & > | operator= (const pair< _U1, _U2 > &__in) noexcept(__nothrow_assignable< const _U1 &, const _U2 & >())
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable< const _U1 &, const _U2 & >(), tuple & > | operator= (const tuple< _U1, _U2 > &__in) noexcept(__nothrow_assignable< const _U1 &, const _U2 & >())
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable< _U1, _U2 >(), tuple & > | operator= (pair< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >())
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable< _U1, _U2 >(), tuple & > | operator= (tuple< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >())
tuple & | operator= (typename conditional< __assignable< _T1, _T2 >(), tuple &&, __nonesuch_no_braces && >::type __in) noexcept(__nothrow_assignable< _T1, _T2 >())
tuple & | operator= (typename conditional< __assignable< const _T1 &, const _T2 & >(), const tuple &, const __nonesuch_no_braces & >::type __in) noexcept(__nothrow_assignable< const _T1 &, const _T2 & >())
void | swap (tuple &__in) noexcept(__and_< __is_nothrow_swappable< _T1 >, __is_nothrow_swappable< _T2 > >::value)

## Detailed Description

template<typename _T1, typename _T2>
class std::tuple< _T1, _T2 >

Partial specialization, 2-element tuple. Includes construction and assignment from a pair.

Definition at line 893 of file tuple.

## Member Typedef Documentation

## _TCC

template<typename _T1 , typename _T2 >
template<typename _Dummy >

using std::tuple< _T1, _T2 >::_TCC = _TC<is_same<_Dummy, void>::value, _T1, _T2>

Definition at line 936 of file tuple.

## _TMC

template<typename _T1 , typename _T2 >

using std::tuple< _T1, _T2 >::_TMC = _TC<true, _T1, _T2>

Definition at line 959 of file tuple.

## Constructor & Destructor Documentation

## tuple() [1/29]

template<typename _T1 , typename _T2 >
template<typename _U1 = _T1, typename _U2 = _T2, typename enable_if< __and_< __is_implicitly_default_constructible< _U1 >, __is_implicitly_default_constructible< _U2 > > ::value, bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( |  | ) |

inline constexpr

Definition at line 918 of file tuple.

## tuple() [2/29]

template<typename _T1 , typename _T2 >
template<typename _U1 = _T1, typename _U2 = _T2, typename enable_if< __and_< is_default_constructible< _U1 >, is_default_constructible< _U2 >, __not_< __and_< __is_implicitly_default_constructible< _U1 >, __is_implicitly_default_constructible< _U2 > > > > ::value, bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( |  | ) |

inline explicit constexpr

Definition at line 931 of file tuple.

## tuple() [3/29]

template<typename _T1 , typename _T2 >
template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const _T1 & | __a1,
|  | const _T2 & | __a2
| ) |  |

inline constexpr

Definition at line 945 of file tuple.

## tuple() [4/29]

template<typename _T1 , typename _T2 >
template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const _T1 & | __a1,
|  | const _T2 & | __a2
| ) |  |

inline explicit constexpr

Definition at line 954 of file tuple.

## tuple() [5/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >() &&!is_same< __remove_cvref_t< _U1 >, allocator_arg_t >::value, bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | _U1 && | __a1,
|  | _U2 && | __a2
| ) |  |

inline constexpr

Definition at line 968 of file tuple.

## tuple() [6/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >() &&!is_same< __remove_cvref_t< _U1 >, allocator_arg_t >::value, bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | _U1 && | __a1,
|  | _U2 && | __a2
| ) |  |

inline explicit constexpr

Definition at line 978 of file tuple.

## tuple() [7/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const tuple< _U1, _U2 > & | __in | ) |

inline constexpr

Definition at line 991 of file tuple.

## tuple() [8/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const tuple< _U1, _U2 > & | __in | ) |

inline explicit constexpr

Definition at line 1000 of file tuple.

## tuple() [9/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | tuple< _U1, _U2 > && | __in | ) |

inline constexpr

Definition at line 1009 of file tuple.

## tuple() [10/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | tuple< _U1, _U2 > && | __in | ) |

inline explicit constexpr

Definition at line 1018 of file tuple.

## tuple() [11/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const pair< _U1, _U2 > & | __in | ) |

inline constexpr

Definition at line 1027 of file tuple.

## tuple() [12/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | const pair< _U1, _U2 > & | __in | ) |

inline explicit constexpr

Definition at line 1036 of file tuple.

## tuple() [13/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>

constexpr std::tuple< _T1, _T2 >::tuple | ( | pair< _U1, _U2 > && | __in | ) |

inline constexpr

Definition at line 1045 of file tuple.

## tuple() [14/29]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>

constexpr std::tuple< _T1, _T2 >::tuple | ( | pair< _U1, _U2 > && | __in | ) |

inline explicit constexpr

Definition at line 1055 of file tuple.

## tuple() [15/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc >

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a
| ) |  |

inline

Definition at line 1062 of file tuple.

## tuple() [16/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const _T1 & | __a1,
|  | const _T2 & | __a2
| ) |  |

inline

Definition at line 1073 of file tuple.

## tuple() [17/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _T1, _T2 >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _T1, _T2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const _T1 & | __a1,
|  | const _T2 & | __a2
| ) |  |

inline explicit

Definition at line 1085 of file tuple.

## tuple() [18/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | _U1 && | __a1,
|  | _U2 && | __a2
| ) |  |

inline

Definition at line 1095 of file tuple.

## tuple() [19/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | _U1 && | __a1,
|  | _U2 && | __a2
| ) |  |

inline explicit

Definition at line 1105 of file tuple.

## tuple() [20/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc >

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const tuple< _T1, _T2 > & | __in
| ) |  |

inline

Definition at line 1111 of file tuple.

## tuple() [21/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc >

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | tuple< _T1, _T2 > && | __in
| ) |  |

inline

Definition at line 1115 of file tuple.

## tuple() [22/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const tuple< _U1, _U2 > & | __in
| ) |  |

inline

Definition at line 1124 of file tuple.

## tuple() [23/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const tuple< _U1, _U2 > & | __in
| ) |  |

inline explicit

Definition at line 1136 of file tuple.

## tuple() [24/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | tuple< _U1, _U2 > && | __in
| ) |  |

inline

Definition at line 1148 of file tuple.

## tuple() [25/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | tuple< _U1, _U2 > && | __in
| ) |  |

inline explicit

Definition at line 1158 of file tuple.

## tuple() [26/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const pair< _U1, _U2 > & | __in
| ) |  |

inline

Definition at line 1169 of file tuple.

## tuple() [27/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _ConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyConvertibleTuple< _U1, _U2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | const pair< _U1, _U2 > & | __in
| ) |  |

inline explicit

Definition at line 1179 of file tuple.

## tuple() [28/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = true>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | pair< _U1, _U2 > && | __in
| ) |  |

inline

Definition at line 1189 of file tuple.

## tuple() [29/29]

template<typename _T1 , typename _T2 >
template<typename _Alloc , typename _U1 , typename _U2 , typename enable_if< _TMC::template _MoveConstructibleTuple< _U1, _U2 >() &&!_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >(), bool >::type = false>

std::tuple< _T1, _T2 >::tuple | ( | allocator_arg_t | __tag,
|  | const _Alloc & | __a,
|  | pair< _U1, _U2 > && | __in
| ) |  |

inline explicit

Definition at line 1199 of file tuple.

## Member Function Documentation

## operator=() [1/6]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 >

__enable_if_t< __assignable< const _U1 &, const _U2 & >(), tuple & > std::tuple< _T1, _T2 >::operator= | ( | const pair< _U1, _U2 > & | __in | ) |

inline noexcept

Definition at line 1244 of file tuple.

## operator=() [2/6]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 >

__enable_if_t< __assignable< const _U1 &, const _U2 & >(), tuple & > std::tuple< _T1, _T2 >::operator= | ( | const tuple< _U1, _U2 > & | __in | ) |

inline noexcept

Definition at line 1226 of file tuple.

## operator=() [3/6]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 >

__enable_if_t< __assignable< _U1, _U2 >(), tuple & > std::tuple< _T1, _T2 >::operator= | ( | pair< _U1, _U2 > && | __in | ) |

inline noexcept

Definition at line 1254 of file tuple.

## operator=() [4/6]

template<typename _T1 , typename _T2 >
template<typename _U1 , typename _U2 >

__enable_if_t< __assignable< _U1, _U2 >(), tuple & > std::tuple< _T1, _T2 >::operator= | ( | tuple< _U1, _U2 > && | __in | ) |

inline noexcept

Definition at line 1235 of file tuple.

## operator=() [5/6]

template<typename _T1 , typename _T2 >

tuple & std::tuple< _T1, _T2 >::operator= | ( | typename conditional< __assignable< _T1, _T2 >(), tuple< _T1, _T2 > &&, __nonesuch_no_braces && >::type | __in | ) |

inline noexcept

Definition at line 1215 of file tuple.

## operator=() [6/6]

template<typename _T1 , typename _T2 >

tuple & std::tuple< _T1, _T2 >::operator= | ( | typename conditional< __assignable< const _T1 &, const _T2 & >(), const tuple< _T1, _T2 > &, const __nonesuch_no_braces & >::type | __in | ) |

inline noexcept

Definition at line 1205 of file tuple.

## swap()

template<typename _T1 , typename _T2 >

void std::tuple< _T1, _T2 >::swap | ( | tuple< _T1, _T2 > & | __in | ) |

inline noexcept

Definition at line 1263 of file tuple.

The documentation for this class was generated from the following file:

- tuple