|
| _Tuple_impl (_Tuple_impl &&)=default |
|
template<typename _UHead , typename... _UTails> |
constexpr | _Tuple_impl (_Tuple_impl< _Idx, _UHead, _UTails... > &&__in) |
|
template<typename _UHead , typename... _UTail, typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>> |
constexpr | _Tuple_impl (_UHead &&__head, _UTail &&... __tail) |
|
template<typename _Alloc > |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a) |
|
template<typename _Alloc > |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _Tuple_impl &&__in) |
|
template<typename _Alloc , typename _UHead , typename... _UTails> |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _Tuple_impl< _Idx, _UHead, _UTails... > &&__in) |
|
template<typename _Alloc , typename _UHead , typename... _UTail, typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>> |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _UHead &&__head, _UTail &&... __tail) |
|
template<typename _Alloc > |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Head &__head, const _Tail &... __tail) |
|
template<typename _Alloc > |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Tuple_impl &__in) |
|
template<typename _Alloc , typename _UHead , typename... _UTails> |
constexpr | _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Tuple_impl< _Idx, _UHead, _UTails... > &__in) |
|
constexpr | _Tuple_impl (const _Head &__head, const _Tail &... __tail) |
|
constexpr | _Tuple_impl (const _Tuple_impl &)=default |
|
template<typename... _UElements> |
constexpr | _Tuple_impl (const _Tuple_impl< _Idx, _UElements... > &__in) |
|
template<typename _UHead , typename... _UTails> |
constexpr void | _M_assign (_Tuple_impl< _Idx, _UHead, _UTails... > &&__in) |
|
template<typename... _UElements> |
constexpr void | _M_assign (const _Tuple_impl< _Idx, _UElements... > &__in) |
|
_Tuple_impl & | operator= (const _Tuple_impl &)=delete |
|
template<size_t _Idx, typename _Head, typename... _Tail>
struct std::_Tuple_impl< _Idx, _Head, _Tail... >
Recursive tuple implementation. Here we store the Head
element and derive from a Tuple_impl
containing the remaining elements (which contains the Tail
).
Definition at line 258 of file tuple.
template<size_t _Idx, typename _Head , typename... _Tail>
template<typename _UHead , typename... _UTail, typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
constexpr std::_Tuple_impl< _Idx, _Head, _Tail... >::_Tuple_impl |
( |
_UHead && |
__head, |
|
|
_UTail &&... |
__tail |
|
) |
| |
|
inlineexplicitconstexpr |
template<size_t _Idx, typename _Head , typename... _Tail>
template<typename _Alloc , typename _UHead , typename... _UTail, typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
constexpr std::_Tuple_impl< _Idx, _Head, _Tail... >::_Tuple_impl |
( |
allocator_arg_t |
__tag, |
|
|
const _Alloc & |
__a, |
|
|
_UHead && |
__head, |
|
|
_UTail &&... |
__tail |
|
) |
| |
|
inlineconstexpr |