table of contents
std::tuple< _Elements >(3) | Library Functions Manual | std::tuple< _Elements >(3) |
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 _Dummy = void, typename enable_if<
_TCC< _Dummy >::template _ConstructibleTuple< _Elements... >()
&&_TCC< _Dummy >::template _ImplicitlyConvertibleTuple<
_Elements... >() &&(sizeof...(_Elements) > = 1> 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> constexpr
tuple (const _Elements &... __elements)
template<typename... _UElements, typename enable_if< _TMC<
_UElements... >::template _MoveConstructibleTuple< _UElements...
>() &&_TMC< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&(sizeof...(_Elements) > = 1> constexpr tuple
(_UElements &&... __elements)
template<typename... _UElements, typename enable_if< _TMC<
_UElements... >::template _MoveConstructibleTuple< _UElements...
>() &&!_TMC< _UElements... >::template
_ImplicitlyMoveConvertibleTuple< _UElements... >()
&&(sizeof...(_Elements) > = 1> constexpr tuple
(_UElements &&... __elements)
constexpr tuple (const tuple &)=default
constexpr tuple (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)
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 _Alloc > tuple (allocator_arg_t __tag,
const _Alloc &__a)
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 , 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 > 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 _Dummy = void, typename... _UElements,
typename enable_if< _TMCT< _UElements... >::template
_ConstructibleTuple< _UElements... >() &&_TMCT<
_UElements... >::template _ImplicitlyConvertibleTuple< _UElements...
>() &&_TNTC< _Dummy >::template _NonNestedTuple<
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<
tuple< _UElements... > &&>(), bool >::type = false>
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
_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)
tuple & operator= (const tuple &__in)
tuple & operator= (tuple &&__in)
noexcept(is_nothrow_move_assignable< _Inherited
>::value)
template<typename... _UElements> enable_if<
sizeof...(_UElements)==sizeof...(_Elements), tuple & >::type
operator= (const tuple< _UElements... > &__in)
template<typename... _UElements> enable_if<
sizeof...(_UElements)==sizeof...(_Elements), tuple & >::type
operator= (tuple< _UElements... > &&__in)
void swap (tuple &__in)
noexcept(noexcept(__in._M_swap(__in)))
Detailed Description¶
template<typename... _Elements>¶
class std::tuple< _Elements >" Primary class template, tuple.
Definition at line 53 of file tuple.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
Fri May 24 2024 | libstdc++ |