std::tuple< _T1, _T2 > Class Template Reference
Utilities
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 _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 _MoveConstructibleTuple< _U1, _U2 >() &&_TMC::template _ImplicitlyMoveConvertibleTuple< _U1, _U2 >() &&!is_same< typename decay< _U1 >::type, 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< typename decay< _U1 >::type, allocator_arg_t >::value, bool >::type = false>
constexpr | tuple (_U1 &&__a1, _U2 &&__a2)
constexpr | tuple (const tuple &)=default
constexpr | tuple (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 (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 , 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)
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)
template<typename _Alloc >
| tuple (allocator_arg_t __tag, const _Alloc &__a)
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 _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 >
| tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple &__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 _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, 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 _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 , 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)
tuple & | operator= (const tuple &__in)
tuple & | operator= (tuple &&__in) noexcept(is_nothrow_move_assignable< _Inherited >::value)
template<typename _U1 , typename _U2 >
tuple & | operator= (const tuple< _U1, _U2 > &__in)
template<typename _U1 , typename _U2 >
tuple & | operator= (tuple< _U1, _U2 > &&__in)
template<typename _U1 , typename _U2 >
tuple & | operator= (const pair< _U1, _U2 > &__in)
template<typename _U1 , typename _U2 >
tuple & | operator= (pair< _U1, _U2 > &&__in)
void | swap (tuple &__in) noexcept(noexcept(__in._M_swap(__in)))

## 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 907 of file tuple.

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

- tuple