std::tuple< _Elements >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

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.


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Detailed Description
template<typename... _Elements>
Author