Home | History | Annotate | Download | only in include

Lines Matching full:_head

60   template<std::size_t _Idx, typename _Head, bool _IsEmpty>
63 template<std::size_t _Idx, typename _Head>
64 struct _Head_base<_Idx, _Head, true>
65 : public _Head
68 : _Head() { }
70 _Head_base(const _Head& __h)
71 : _Head(__h) { }
75 : _Head(std::forward<_UHead>(__h)) { }
77 _Head& _M_head() { return *this; }
78 const _Head& _M_head() const { return *this; }
80 void _M_swap_impl(_Head&&) { /* no-op */ }
83 template<std::size_t _Idx, typename _Head>
84 struct _Head_base<_Idx, _Head, false>
89 _Head_base(const _Head& __h)
96 _Head& _M_head() { return _M_head_impl; }
97 const _Head& _M_head() const { return _M_head_impl; }
100 _M_swap_impl(_Head&& __h)
106 _Head _M_head_impl;
136 template<std::size_t _Idx, typename _Head, typename... _Tail>
137 struct _Tuple_impl<_Idx, _Head, _Tail...>
139 private _Head_base<_Idx, _Head, std::is_empty<_Head>::value>
142 typedef _Head_base<_Idx, _Head, std::is_empty<_Head>::value> _Base;
144 _Head& _M_head() { return _Base::_M_head(); }
145 const _Head& _M_head() const { return _Base::_M_head(); }
154 _Tuple_impl(const _Head& __head, const _Tail&... __tail)
168 _Base(std::forward<_Head>(__in._M_head())) { }
414 template<std::size_t __i, typename _Head, typename... _Tail>
415 struct tuple_element<__i, tuple<_Head, _Tail...> >
421 template<typename _Head, typename... _Tail>
422 struct tuple_element<0, tuple<_Head, _Tail...> >
424 typedef _Head type;
441 template<std::size_t __i, typename _Head, typename... _Tail>
442 inline typename __add_ref<_Head>::type
443 __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t)
446 template<std::size_t __i, typename _Head, typename... _Tail>
447 inline typename __add_c_ref<_Head>::type
448 __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t)