libstdc++
std::tuple< _T1, _T2 > Class Template Reference
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< __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)
 
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)
 
void noexcept (__and_< __is_nothrow_swappable< _T1 >, __is_nothrow_swappable< _T2 >>::value)
 
tupleoperator= (typename conditional< __assignable< const _T1 &, const _T2 & >(), const tuple &, const __nonesuch_no_braces & >::type __in)
 
tupleoperator= (typename conditional< __assignable< _T1, _T2 >(), tuple &&, __nonesuch_no_braces && >::type __in)
 
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable
< const _U1 &, const _U2 & >
), tuple & > 
operator= (const tuple< _U1, _U2 > &__in)
 
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable
< _U1, _U2 >), tuple & > 
operator= (tuple< _U1, _U2 > &&__in)
 
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable
< const _U1 &, const _U2 & >
), tuple & > 
operator= (const pair< _U1, _U2 > &__in)
 
template<typename _U1 , typename _U2 >
__enable_if_t< __assignable
< _U1, _U2 >), tuple & > 
operator= (pair< _U1, _U2 > &&__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 893 of file tuple.


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