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;
157 template<int I, typename Head, typename... Tail>
158 struct tuple_element<I, tuple<Head, Tail...> > {
162 template<typename Head, typename... Tail>
163 struct tuple_element<0, tuple<Head, Tail...> > {
164 typedef Head type;
178 template<int I, typename Head, typename... Values>
179 class get_impl<I, tuple<Head, Values...> > {
185 static RJ get(tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get() argument
186 static PJ get(const tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get() argument
189 template<typename Head, typename... Values>
190 class get_impl<0, tuple<Head, Values...> > {
191 typedef typename add_reference<Head>::type RJ;
192 typedef typename add_const_reference<Head>::type PJ;
194 static RJ get(tuple<Head, Values...>& t) { return t.head(); } in get() argument
195 static PJ get(const tuple<Head, Values...>& t) { return t.head(); } in get() argument