Lines Matching refs:tuple

54 template<typename... Values> class tuple;
57 template<> class tuple<> { }; class
60 class tuple<Head, Tail...> : private tuple<Tail...> { class
61 typedef tuple<Tail...> inherited;
64 tuple() { } in tuple() function in tuple
68 tuple(typename add_const_reference<Head>::type v, in tuple() function in tuple
73 template<typename... VValues> tuple(const tuple<VValues...>& other) in tuple() function in tuple
76 template<typename... VValues> tuple&
77 operator=(const tuple<VValues...>& other) { in operator =()
104 tuple<typename make_tuple_result<Values>::type...>
106 return tuple<typename make_tuple_result<Values>::type...>(values...); in make_tuple()
110 tuple<Values&...> tie(Values&... values) { in tie()
111 return tuple<Values&...>(values...); in tie()
117 template<typename... Values> struct tuple_size<tuple<Values...> > {
124 struct tuple_element<I, tuple<Head, Tail...> > {
125 typedef typename tuple_element<I-1, tuple<Tail...> >::type type;
129 struct tuple_element<0, tuple<Head, Tail...> > {
136 class get_impl<I, tuple<Head, Values...> > {
137 typedef typename tuple_element<I-1, tuple<Values...> >::type Element;
140 typedef get_impl<I-1, tuple<Values...> > Next;
142 static RJ get(tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get()
143 static PJ get(const tuple<Head, Values...>& t) { return Next::get(t.tail()); } in get()
147 class get_impl<0, tuple<Head, Values...> > {
151 static RJ get(tuple<Head, Values...>& t) { return t.head(); } in get()
152 static PJ get(const tuple<Head, Values...>& t) { return t.head(); } in get()
156 typename tuple_element<I, tuple<Values...> >::type >::type
157 get(tuple<Values...>& t) { in get()
158 return get_impl<I, tuple<Values...> >::get(t); in get()
162 typename tuple_element<I, tuple<Values...> >::type >::type
163 get(const tuple<Values...>& t) { in get()
164 return get_impl<I, tuple<Values...> >::get(t); in get()
168 inline bool operator==(const tuple<>&, const tuple<>&) { return true; } in operator ==() argument
171 bool operator==(const tuple<T, TTail...>& t, const tuple<U, UTail...>& u) { in operator ==()
176 bool operator!=(const tuple<TValues...>& t, const tuple<UValues...>& u) { in operator !=()
180 inline bool operator<(const tuple<>&, const tuple<>&) { return false; } in operator <() argument
183 bool operator<(const tuple<T, TTail...>& t, const tuple<U, UTail...>& u) { in operator <()
188 bool operator>(const tuple<TValues...>& t, const tuple<UValues...>& u) { in operator >()
193 bool operator<=(const tuple<TValues...>& t, const tuple<UValues...>& u) { in operator <=()
198 bool operator>=(const tuple<TValues...>& t, const tuple<UValues...>& u) { in operator >=()
239 tuple<BoundArgs...> bound_args;
269 struct safe_tuple_element<I, tuple<Values...>,
270 … typename enable_if<(I >= 0 && I < tuple_size<tuple<Values...> >::value)>::type> {
271 typedef typename tuple_element<I, tuple<Values...> >::type type;
277 tuple<Args...> >::type
278 mu(Bound& bound_arg, const tuple<Args&...>& args) { in mu()
283 inline T& mu(reference_wrapper<T>& bound_arg, const tuple<Args&...>&) { in mu()
289 unwrap_and_forward(F& f, int_tuple<Indexes...>, const tuple<Args&...>& args) { in unwrap_and_forward()
296 mu(Bound& bound_arg, const tuple<Args&...>& args) { in mu()
316 mu(Bound& bound_arg, const tuple<Args&...>&) { in mu()
321 typename F::result_type apply_functor(F& f, tuple<BoundArgs...>& bound_args, in apply_functor()
323 const tuple<Args&...>& args) { in apply_functor()