Provided by: libstdc++-9-doc_9.5.0-1ubuntu1~22.04_all bug

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.

libstdc++                                        Tue Jul 19 2022                   std::tuple< _Elements >(3cxx)