|
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) |
|
tuple & | operator= (typename conditional< __assignable< const _T1 &, const _T2 &>(), const tuple &, const __nonesuch_no_braces &>::type __in) noexcept(__nothrow_assignable< const _T1 &, const _T2 &>()) |
|
tuple & | operator= (typename conditional< __assignable< _T1, _T2 >(), tuple &&, __nonesuch_no_braces &&>::type __in) noexcept(__nothrow_assignable< _T1, _T2 >()) |
|
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= (tuple< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >()) |
|
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< _U1, _U2 >), tuple & > | operator= (pair< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >()) |
|
void | swap (tuple &__in) noexcept(__and_< __is_nothrow_swappable< _T1 >, __is_nothrow_swappable< _T2 >>::value) |
|