libstdc++
|
Public Types | |
typedef _Head_base< _Idx, _Head, std::is_empty< _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> | |
_Tuple_impl (_UHead &&__head, _UTail &&...__tail) | |
constexpr | _Tuple_impl (const _Tuple_impl &)=default |
_Tuple_impl (_Tuple_impl &&__in) | |
template<typename... _UElements> | |
_Tuple_impl (const _Tuple_impl< _Idx, _UElements...> &__in) | |
template<typename _UHead , typename... _UTails> | |
_Tuple_impl (_Tuple_impl< _Idx, _UHead, _UTails...> &&__in) | |
_Head & | _M_head () |
const _Head & | _M_head () const |
_Inherited & | _M_tail () |
const _Inherited & | _M_tail () const |
_Tuple_impl & | operator= (const _Tuple_impl &__in) |
_Tuple_impl & | operator= (_Tuple_impl &&__in) |
template<typename... _UElements> | |
_Tuple_impl & | operator= (const _Tuple_impl< _Idx, _UElements...> &__in) |
template<typename _UHead , typename... _UTails> | |
_Tuple_impl & | operator= (_Tuple_impl< _Idx, _UHead, _UTails...> &&__in) |
Protected Member Functions | |
void | _M_swap_impl (_Tuple_impl &__in) |
Recursive tuple implementation. Here we store the Head
element and derive from a Tuple_impl
containing the remaining elements (which contains the Tail
).