std::tuple< _Elements >(3cxx) | std::tuple< _Elements >(3cxx) |
NAME¶
std::tuple< _Elements > - Primary class template, tuple.
SYNOPSIS¶
#include <tuple>
Inherits std::_Tuple_impl< 0, _Elements... >.
Public Types¶
template<typename _Dummy > using _TCC =
_TC< is_same< _Dummy, void >::value, _Elements...
>
template<typename... _UElements> using _TMC =
_TC<(sizeof...(_Elements)==sizeof...(_UElements))
&&(_TC<(sizeof...(_UElements)==1), _Elements...
>::template _NotSameTuple< _UElements... >()), _Elements... >
template<typename... _UElements> using _TMCT =
_TC<(sizeof...(_Elements)==sizeof...(_UElements))
&&!is_same< tuple< _Elements... >,
tuple< _UElements... > >::value, _Elements... >
template<typename _Dummy > using _TNTC = _TC<
is_same< _Dummy, void >::value
&&sizeof...(_Elements)==1, _Elements... >
Public Member Functions¶
template<typename... _UElements, typename
enable_if< _TMC< _UElements... >::template
_MoveConstructibleTuple< _UElements... >() &&_TMC<
_UElements... >::template _ImplicitlyMoveConvertibleTuple<
_UElements... >() &&(sizeof...(_Elements) >=1), bool
>::type = true> constexpr tuple (_UElements
&&... __elements)
template<typename... _UElements, typename enable_if<
_TMC< _UElements... >::template _MoveConstructibleTuple<
_UElements... >() &&!_TMC< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&(sizeof...(_Elements) >=1), bool >::type = false>
constexpr tuple (_UElements &&...
__elements)
template<typename _Alloc > tuple (allocator_arg_t
__tag, const _Alloc &__a)
template<typename _Alloc , typename... _UElements, typename
enable_if< _TMC< _UElements... >::template
_MoveConstructibleTuple< _UElements... >() &&_TMC<
_UElements... >::template _ImplicitlyMoveConvertibleTuple<
_UElements... >(), bool >::type = true> tuple
(allocator_arg_t __tag, const _Alloc &__a,
_UElements &&... __elements)
template<typename _Alloc , typename... _UElements, typename
enable_if< _TMC< _UElements... >::template
_MoveConstructibleTuple< _UElements... >() &&!_TMC<
_UElements... >::template _ImplicitlyMoveConvertibleTuple<
_UElements... >(), bool >::type = false> tuple
(allocator_arg_t __tag, const _Alloc &__a,
_UElements &&... __elements)
template<typename _Alloc , typename _Dummy = void,
typename enable_if< _TCC< _Dummy >::template
_ConstructibleTuple< _Elements... >() &&_TCC< _Dummy
>::template _ImplicitlyConvertibleTuple< _Elements... >(), bool
>::type = true> tuple (allocator_arg_t __tag,
const _Alloc &__a, const _Elements &...
__elements)
template<typename _Alloc , typename _Dummy = void,
typename enable_if< _TCC< _Dummy >::template
_ConstructibleTuple< _Elements... >() &&!_TCC<
_Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >(),
bool >::type = false> tuple (allocator_arg_t
__tag, const _Alloc &__a, const _Elements
&... __elements)
template<typename _Alloc > tuple (allocator_arg_t
__tag, const _Alloc &__a, const tuple
&__in)
template<typename _Alloc , typename _Dummy = void,
typename... _UElements, typename enable_if<
_TMCT< _UElements... >::template _ConstructibleTuple<
_UElements... >() &&_TMCT< _UElements... >::template
_ImplicitlyConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
const tuple< _UElements... > & >(), bool
>::type = true> tuple (allocator_arg_t __tag,
const _Alloc &__a, const tuple< _UElements...
> &__in)
template<typename _Alloc , typename _Dummy = void,
typename... _UElements, typename enable_if<
_TMCT< _UElements... >::template _ConstructibleTuple<
_UElements... >() &&!_TMCT< _UElements...
>::template _ImplicitlyConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
const tuple< _UElements... > & >(), bool
>::type = false> tuple (allocator_arg_t __tag,
const _Alloc &__a, const tuple< _UElements...
> &__in)
template<typename _Alloc > tuple (allocator_arg_t
__tag, const _Alloc &__a, tuple
&&__in)
template<typename _Alloc , typename _Dummy = void,
typename... _UElements, typename enable_if<
_TMCT< _UElements... >::template _MoveConstructibleTuple<
_UElements... >() &&_TMCT< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
tuple< _UElements... > && >(), bool >::type =
true> tuple (allocator_arg_t __tag, const
_Alloc &__a, tuple< _UElements... > &&__in)
template<typename _Alloc , typename _Dummy = void,
typename... _UElements, typename enable_if<
_TMCT< _UElements... >::template _MoveConstructibleTuple<
_UElements... >() &&!_TMCT< _UElements...
>::template _ImplicitlyMoveConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
tuple< _UElements... > && >(), bool >::type =
false> tuple (allocator_arg_t __tag, const
_Alloc &__a, tuple< _UElements... > &&__in)
template<typename _Dummy = void, typename
enable_if< _TCC< _Dummy >::template
_ConstructibleTuple< _Elements... >() &&_TCC< _Dummy
>::template _ImplicitlyConvertibleTuple< _Elements... >()
&&(sizeof...(_Elements) >=1), bool >::type = true>
constexpr tuple (const _Elements &...
__elements)
template<typename _Dummy = void, typename
enable_if< _TCC< _Dummy >::template
_ConstructibleTuple< _Elements... >() &&!_TCC<
_Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >()
&&(sizeof...(_Elements) >=1), bool >::type = false>
constexpr tuple (const _Elements &...
__elements)
constexpr tuple (const tuple &)=default
template<typename... _UElements, typename _Dummy = void,
typename enable_if< _TMCT< _UElements...
>::template _ConstructibleTuple< _UElements... >()
&&_TMCT< _UElements... >::template
_ImplicitlyConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
const tuple< _UElements... > & >(), bool
>::type = true> constexpr tuple (const
tuple< _UElements... > &__in)
template<typename... _UElements, typename _Dummy = void,
typename enable_if< _TMCT< _UElements...
>::template _ConstructibleTuple< _UElements... >()
&&!_TMCT< _UElements... >::template
_ImplicitlyConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
const tuple< _UElements... > & >(), bool
>::type = false> constexpr tuple (const
tuple< _UElements... > &__in)
constexpr tuple (tuple &&)=default
template<typename... _UElements, typename _Dummy = void,
typename enable_if< _TMCT< _UElements...
>::template _MoveConstructibleTuple< _UElements... >()
&&_TMCT< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
tuple< _UElements... > && >(), bool >::type =
true> constexpr tuple (tuple< _UElements... >
&&__in)
template<typename... _UElements, typename _Dummy = void,
typename enable_if< _TMCT< _UElements...
>::template _MoveConstructibleTuple< _UElements... >()
&&!_TMCT< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&_TNTC< _Dummy >::template _NonNestedTuple<
tuple< _UElements... > && >(), bool >::type =
false> constexpr tuple (tuple< _UElements... >
&&__in)
template<typename... _UElements> __enable_if_t< __assignable<
const _UElements &... >(), tuple & >
operator= (const tuple< _UElements... >
&__in) noexcept(__nothrow_assignable< const
_UElements &... >())
template<typename... _UElements> __enable_if_t< __assignable<
_UElements... >(), tuple & > operator=
(tuple< _UElements... > &&__in)
noexcept(__nothrow_assignable< _UElements... >())
tuple & operator= (typename conditional<
__assignable< _Elements... >(), tuple &&,
__nonesuch_no_braces && >::type __in)
noexcept(__nothrow_assignable< _Elements... >())
tuple & operator= (typename conditional<
__assignable< const _Elements &... >(), const
tuple &, const __nonesuch_no_braces & >::type
__in) noexcept(__nothrow_assignable< const
_Elements &... >())
void swap (tuple &__in)
noexcept(__and_< __is_nothrow_swappable< _Elements
>... >::value)
Detailed Description¶
template<typename... _Elements>¶
class std::tuple< _Elements >"Primary class template, tuple.
Definition at line 523 of file tuple.
Member Typedef Documentation¶
template<typename... _Elements> template<typename _Dummy > using std::tuple< _Elements >::_TCC = _TC<is_same<_Dummy, void>::value, _Elements...>¶
Definition at line 576 of file tuple.
template<typename... _Elements> template<typename... _UElements> using std::tuple< _Elements >::_TMC = _TC<(sizeof...(_Elements) == sizeof...(_UElements)) && (_TC<(sizeof...(_UElements)==1), _Elements...>:: template _NotSameTuple<_UElements...>()), _Elements...>¶
Definition at line 604 of file tuple.
template<typename... _Elements> template<typename... _UElements> using std::tuple< _Elements >::_TMCT = _TC<(sizeof...(_Elements) == sizeof...(_UElements)) && !is_same<tuple<_Elements...>, tuple<_UElements...> >::value, _Elements...>¶
Definition at line 612 of file tuple.
template<typename... _Elements> template<typename _Dummy > using std::tuple< _Elements >::_TNTC = _TC<is_same<_Dummy, void>::value && sizeof...(_Elements) == 1, _Elements...>¶
Definition at line 646 of file tuple.
Constructor & Destructor Documentation¶
template<typename... _Elements> template<typename _Dummy = void, typename enable_if< _TC2< _Dummy >::_ImplicitlyDefaultConstructibleTuple(), bool >::type = true> constexpr std::tuple< _Elements >::tuple () [inline], [constexpr]¶
Definition at line 561 of file tuple.
template<typename... _Elements> template<typename _Dummy = void, typename enable_if< _TC2< _Dummy >::_DefaultConstructibleTuple() &&!_TC2< _Dummy >::_ImplicitlyDefaultConstructibleTuple(), bool >::type = false> constexpr std::tuple< _Elements >::tuple () [inline], [explicit], [constexpr]¶
Definition at line 571 of file tuple.
template<typename... _Elements> template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool >::type = true> constexpr std::tuple< _Elements >::tuple (const _Elements &... __elements) [inline], [constexpr]¶
Definition at line 588 of file tuple.
template<typename... _Elements> template<typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >() &&(sizeof...(_Elements) >=1), bool >::type = false> constexpr std::tuple< _Elements >::tuple (const _Elements &... __elements) [inline], [explicit], [constexpr]¶
Definition at line 599 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&(sizeof...(_Elements) >=1), bool >::type = true> constexpr std::tuple< _Elements >::tuple (_UElements &&... __elements) [inline], [constexpr]¶
Definition at line 626 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&(sizeof...(_Elements) >=1), bool >::type = false> constexpr std::tuple< _Elements >::tuple (_UElements &&... __elements) [inline], [explicit], [constexpr]¶
Definition at line 637 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename _Dummy = void, typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type = true> constexpr std::tuple< _Elements >::tuple (const tuple< _UElements... > & __in) [inline], [constexpr]¶
Definition at line 658 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename _Dummy = void, typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type = false> constexpr std::tuple< _Elements >::tuple (const tuple< _UElements... > & __in) [inline], [explicit], [constexpr]¶
Definition at line 670 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename _Dummy = void, typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type = true> constexpr std::tuple< _Elements >::tuple (tuple< _UElements... > && __in) [inline], [constexpr]¶
Definition at line 682 of file tuple.
template<typename... _Elements> template<typename... _UElements, typename _Dummy = void, typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type = false> constexpr std::tuple< _Elements >::tuple (tuple< _UElements... > && __in) [inline], [explicit], [constexpr]¶
Definition at line 693 of file tuple.
template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a) [inline]¶
Definition at line 699 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type = true> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements &... __elements) [inline]¶
Definition at line 709 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename enable_if< _TCC< _Dummy >::template _ConstructibleTuple< _Elements... >() &&!_TCC< _Dummy >::template _ImplicitlyConvertibleTuple< _Elements... >(), bool >::type = false> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const _Elements &... __elements) [inline], [explicit]¶
Definition at line 720 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename... _UElements, typename enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(), bool >::type = true> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, _UElements &&... __elements) [inline]¶
Definition at line 730 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename... _UElements, typename enable_if< _TMC< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMC< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >(), bool >::type = false> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, _UElements &&... __elements) [inline], [explicit]¶
Definition at line 741 of file tuple.
template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple< _Elements > & __in) [inline]¶
Definition at line 747 of file tuple.
template<typename... _Elements> template<typename _Alloc > std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, tuple< _Elements > && __in) [inline]¶
Definition at line 751 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename... _UElements, typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type = true> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple< _UElements... > & __in) [inline]¶
Definition at line 763 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename... _UElements, typename enable_if< _TMCT< _UElements... >::template _ConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template _ImplicitlyConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< const tuple< _UElements... > & >(), bool >::type = false> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, const tuple< _UElements... > & __in) [inline], [explicit]¶
Definition at line 778 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename... _UElements, typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type = true> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, tuple< _UElements... > && __in) [inline]¶
Definition at line 793 of file tuple.
template<typename... _Elements> template<typename _Alloc , typename _Dummy = void, typename... _UElements, typename enable_if< _TMCT< _UElements... >::template _MoveConstructibleTuple< _UElements... >() &&!_TMCT< _UElements... >::template _ImplicitlyMoveConvertibleTuple< _UElements... >() &&_TNTC< _Dummy >::template _NonNestedTuple< tuple< _UElements... > && >(), bool >::type = false> std::tuple< _Elements >::tuple (allocator_arg_t __tag, const _Alloc & __a, tuple< _UElements... > && __in) [inline], [explicit]¶
Definition at line 808 of file tuple.
Member Function Documentation¶
template<typename... _Elements> template<typename... _UElements> __enable_if_t< __assignable< const _UElements &... >(), tuple & > std::tuple< _Elements >::operator= (const tuple< _UElements... > & __in) [inline], [noexcept]¶
Definition at line 838 of file tuple.
template<typename... _Elements> template<typename... _UElements> __enable_if_t< __assignable< _UElements... >(), tuple & > std::tuple< _Elements >::operator= (tuple< _UElements... > && __in) [inline], [noexcept]¶
Definition at line 847 of file tuple.
template<typename... _Elements> tuple & std::tuple< _Elements >::operator= (typename conditional< __assignable< _Elements... >(), tuple< _Elements > &&, __nonesuch_no_braces && >::type __in) [inline], [noexcept]¶
Definition at line 827 of file tuple.
template<typename... _Elements> tuple & std::tuple< _Elements >::operator= (typename conditional< __assignable< const _Elements &... >(), const tuple< _Elements > &, const __nonesuch_no_braces & >::type __in) [inline], [noexcept]¶
Definition at line 817 of file tuple.
template<typename... _Elements> void std::tuple< _Elements >::swap (tuple< _Elements > & __in) [inline], [noexcept]¶
Definition at line 856 of file tuple.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |