libstdc++: std::tuple< _T1, _T2 > Class Template Reference (original) (raw)

Inherits _Tuple_impl< 0, _T1, _T2 >.

Public Member Functions

template<typename _U1 , typename _U2 , _ImplicitCtor<!__is_alloc_arg< _U1 >(), _U1, _U2 > = true>

constexpr

tuple (_U1 &&__a1, _U2 &&__a2) noexcept(__nothrow_constructible< _U1, _U2 >())

template<typename _U1 , typename _U2 , _ExplicitCtor<!__is_alloc_arg< _U1 >(), _U1, _U2 > = false>

constexpr

tuple (_U1 &&__a1, _U2 &&__a2) noexcept(__nothrow_constructible< _U1, _U2 >())

template<typename _Alloc , _ImplicitDefaultCtor< is_object< _Alloc >::value, _T1, _T2 > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a)

template<typename _Alloc , _ExplicitDefaultCtor< is_object< _Alloc >::value, _T1, _T2 > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a)

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, _U1 &&__a1, _U2 &&__a2)

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, _U1 &&__a1, _U2 &&__a2)

template<typename _Alloc , bool _Dummy = true, _ImplicitCtor< _Dummy, const _T1 &, const _T2 & > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const _T1 &__a1, const _T2 &__a2)

template<typename _Alloc , bool _Dummy = true, _ExplicitCtor< _Dummy, const _T1 &, const _T2 & > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const _T1 &__a1, const _T2 &__a2)

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const pair< _U1, _U2 > &__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const pair< _U1, _U2 > &__in)

template<typename _Alloc >

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple &__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _U1, _U2 > &__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, const tuple< _U1, _U2 > &__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, pair< _U1, _U2 > &&__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, pair< _U1, _U2 > &&__in)

template<typename _Alloc >

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, tuple &&__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _U1, _U2 > &&__in)

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

constexpr

tuple (allocator_arg_t __tag, const _Alloc &__a, tuple< _U1, _U2 > &&__in)

template<bool _Dummy = true, _ImplicitCtor< _Dummy, const _T1 &, const _T2 & > = true>

constexpr

tuple (const _T1 &__a1, const _T2 &__a2) noexcept(__nothrow_constructible< const _T1 &, const _T2 & >())

template<bool _Dummy = true, _ExplicitCtor< _Dummy, const _T1 &, const _T2 & > = false>

constexpr

tuple (const _T1 &__a1, const _T2 &__a2) noexcept(__nothrow_constructible< const _T1 &, const _T2 & >())

template<typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

constexpr

tuple (const pair< _U1, _U2 > &__in) noexcept(__nothrow_constructible< const _U1 &, const _U2 & >())

template<typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

constexpr

tuple (const pair< _U1, _U2 > &__in) noexcept(__nothrow_constructible< const _U1 &, const _U2 & >())

constexpr

tuple (const tuple &)=default

template<typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

constexpr

tuple (const tuple< _U1, _U2 > &__in) noexcept(__nothrow_constructible< const _U1 &, const _U2 & >())

template<typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

constexpr

tuple (const tuple< _U1, _U2 > &__in) noexcept(__nothrow_constructible< const _U1 &, const _U2 & >())

template<typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

constexpr

tuple (pair< _U1, _U2 > &&__in) noexcept(__nothrow_constructible< _U1, _U2 >())

template<typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

constexpr

tuple (pair< _U1, _U2 > &&__in) noexcept(__nothrow_constructible< _U1, _U2 >())

constexpr

tuple (tuple &&)=default

template<typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

constexpr

tuple (tuple< _U1, _U2 > &&__in) noexcept(__nothrow_constructible< _U1, _U2 >())

template<typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

constexpr

tuple (tuple< _U1, _U2 > &&__in) noexcept(__nothrow_constructible< _U1, _U2 >())

constexpr tuple &

operator= (__conditional_t< __assignable< _T1, _T2 >(), tuple &&, __nonesuch && > __in) noexcept(__nothrow_assignable< _T1, _T2 >())

constexpr tuple &

operator= (__conditional_t< __assignable< const _T1 &, const _T2 & >(), const tuple &, const __nonesuch & > __in) noexcept(__nothrow_assignable< const _T1 &, const _T2 & >())

template<typename _U1 , typename _U2 >

constexpr __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 >

constexpr __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 >

constexpr __enable_if_t< __assignable< _U1, _U2 >(), tuple & >

operator= (pair< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >())

template<typename _U1 , typename _U2 >

constexpr __enable_if_t< __assignable< _U1, _U2 >(), tuple & >

operator= (tuple< _U1, _U2 > &&__in) noexcept(__nothrow_assignable< _U1, _U2 >())

constexpr void

swap (tuple &__in) noexcept(__and_< __is_nothrow_swappable< _T1 >, __is_nothrow_swappable< _T2 > >::value)

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

template<typename _T1 , typename _T2 >

template<typename _Alloc , bool _Dummy = true, _ImplicitCtor< _Dummy, const _T1 &, const _T2 & > = true>

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

Definition at line 2215 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , bool _Dummy = true, _ExplicitCtor< _Dummy, const _T1 &, const _T2 & > = false>

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

Definition at line 2223 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

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

Definition at line 2230 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

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

Definition at line 2239 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

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

Definition at line 2258 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

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

Definition at line 2268 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

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

Definition at line 2277 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

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

Definition at line 2285 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, const _U1 &, const _U2 & > = true>

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

Definition at line 2292 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, const _U1 &, const _U2 & > = false>

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

Definition at line 2301 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ImplicitCtor< true, _U1, _U2 > = true>

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

Definition at line 2309 of file tuple.

template<typename _T1 , typename _T2 >

template<typename _Alloc , typename _U1 , typename _U2 , _ExplicitCtor< true, _U1, _U2 > = false>

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

Definition at line 2318 of file tuple.