Inherits _Tuple_impl< _Idx+1, _Tail...>, and _Head_base< _Idx, _Head, __empty_not_final< _Head >::value >.
List of all members.
Public Types
-
typedef _Head_base< _Idx,
_Head, __empty_not_final
< _Head >::value > _Base
-
typedef _Tuple_impl< _Idx+1,
_Tail...> _Inherited
Public Member Functions
-
constexpr _Tuple_impl (const _Head &__head, const _Tail &...__tail)
-
template<typename _UHead , typename... _UTail, typename = typename enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type> constexpr _Tuple_impl (_UHead &&__head, _UTail &&...__tail)
-
constexpr _Tuple_impl (const _Tuple_impl &)
-
constexpr _Tuple_impl (_Tuple_impl &&__in) noexcept(__and_< is_nothrow_move_constructible< _Head >
-
template<typename... _UElements> constexpr _Tuple_impl (const _Tuple_impl< _Idx, _UElements...> &__in)
-
template<typename _UHead , typename... _UTails> constexpr _Tuple_impl (_Tuple_impl< _Idx, _UHead, _UTails...> &&__in)
-
template<typename _Alloc > _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a)
-
template<typename _Alloc > _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Head &__head, const _Tail &...__tail)
-
template<typename _Alloc , typename _UHead , typename... _UTail, typename = typename enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type> _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _UHead &&__head, _UTail &&...__tail)
-
template<typename _Alloc > _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Tuple_impl &__in)
-
template<typename _Alloc > _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _Tuple_impl &&__in)
-
template<typename _Alloc , typename... _UElements> _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, const _Tuple_impl< _Idx, _UElements...> &__in)
-
template<typename _Alloc , typename _UHead , typename... _UTails> _Tuple_impl (allocator_arg_t __tag, const _Alloc &__a, _Tuple_impl< _Idx, _UHead, _UTails...> &&__in)
-
constexpr
is_nothrow_move_constructible
< _Inherited > _Base (std::forward< _Head >(_M_head(__in)))
-
_Tuple_impl & operator= (const _Tuple_impl &__in)
-
_Tuple_impl & operator= (_Tuple_impl &&__in) noexcept(__and_< is_nothrow_move_assignable< _Head >
-
typename _UTails _Tuple_impl & operator= (_Tuple_impl< _Idx, _UHead, _UTails...> &&__in)
Static Public Member Functions
-
static constexpr _Head & _M_head (_Tuple_impl &__t) noexcept
-
static constexpr const _Head & _M_head (const _Tuple_impl &__t) noexcept
-
static constexpr _Inherited & _M_tail (_Tuple_impl &__t) noexcept
-
static constexpr const _Inherited & _M_tail (const _Tuple_impl &__t) noexcept
Protected Member Functions
-
void _M_swap (_Tuple_impl &__in) noexcept(noexcept(swap(std
Friends
Detailed Description
template<std::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 215 of file tuple.
The documentation for this struct was generated from the following file: