Lines Matching refs:Head
59 template<typename Head, typename... Tail>
60 class tuple<Head, Tail...> : private tuple<Tail...> {
68 tuple(typename add_const_reference<Head>::type v, in tuple()
83 typename add_reference<Head>::type head() { return m_head; } in head()
84 typename add_reference<const Head>::type head() const { return m_head; } in head()
89 Head m_head;
123 template<int I, typename Head, typename... Tail>
124 struct tuple_element<I, tuple<Head, Tail...> > {
128 template<typename Head, typename... Tail>
129 struct tuple_element<0, tuple<Head, Tail...> > {
130 typedef Head type;
135 template<int I, typename Head, typename... Values>
136 class get_impl<I, tuple<Head, Values...> > {
142 static RJ get(tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get() argument
143 static PJ get(const tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get() argument
146 template<typename Head, typename... Values>
147 class get_impl<0, tuple<Head, Values...> > {
148 typedef typename add_reference<Head>::type RJ;
149 typedef typename add_const_reference<Head>::type PJ;
151 static RJ get(tuple<Head, Values...>& t) { return t.head(); } in get() argument
152 static PJ get(const tuple<Head, Values...>& t) { return t.head(); } in get() argument