Provided by: libstdc++-9-doc_9.5.0-1ubuntu1~22.04_all
NAME
std::tuple< _Elements > - Primary class template, tuple.
SYNOPSIS
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.
Author
Generated automatically by Doxygen for libstdc++ from the source code.