Lines Matching full: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()
74 : m_head(other.head()), inherited(other.tail()) { } in tuple()
78 m_head = other.head(); in operator =()
83 typename add_reference<Head>::type head() { return m_head; } in head() function in tuple
84 typename add_reference<const Head>::type head() const { return m_head; } in head() function in tuple
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
224 return t.head() == u.head() && t.tail() == u.tail(); in operator ==()
236 return (t.head() < u.head() || (!(t.head() < u.head()) && t.tail() < u.tail())); in operator <()