Home | History | Annotate | Download | only in temp.variadic

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,
74 : m_head(other.head()), inherited(other.tail()) { }
78 m_head = other.head();
83 typename add_reference<Head>::type head() { return m_head; }
84 typename add_reference<const Head>::type head() const { return m_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()); }
143 static PJ get(const tuple<Head, Values...>& t) { return Next::get(t.tail()); }
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(); }
152 static PJ get(const tuple<Head, Values...>& t) { return t.head(); }
172 return t.head() == u.head() && t.tail() == u.tail();
184 return (t.head() < u.head() || (!(t.head() < u.head()) && t.tail() < u.tail()));