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

Lines Matching refs:Values

53 template<typename... Values> class tuple;
102 template<typename... Values>
103 tuple<typename make_tuple_result<Values>::type...>
104 make_tuple(const Values&... values) {
105 return tuple<typename make_tuple_result<Values>::type...>(values...);
108 template<typename... Values>
109 tuple<Values&...> tie(Values&... values) {
110 return tuple<Values&...>(values...);
116 template<typename... Values> struct tuple_size<tuple<Values...> > {
117 static const int value = sizeof...(Values);
134 template<int I, typename Head, typename... Values>
135 class get_impl<I, tuple<Head, Values...> > {
136 typedef typename tuple_element<I-1, tuple<Values...> >::type Element;
139 typedef get_impl<I-1, tuple<Values...> > Next;
141 static RJ get(tuple<Head, Values...>& t) { return Next::get(t.tail()); }
142 static PJ get(const tuple<Head, Values...>& t) { return Next::get(t.tail()); }
145 template<typename Head, typename... Values>
146 class get_impl<0, tuple<Head, Values...> > {
150 static RJ get(tuple<Head, Values...>& t) { return t.head(); }
151 static PJ get(const tuple<Head, Values...>& t) { return t.head(); }
154 template<int I, typename... Values> typename add_reference<
155 typename tuple_element<I, tuple<Values...> >::type >::type
156 get(tuple<Values...>& t) {
157 return get_impl<I, tuple<Values...> >::get(t);
160 template<int I, typename... Values> typename add_const_reference<
161 typename tuple_element<I, tuple<Values...> >::type >::type
162 get(const tuple<Values...>& t) {
163 return get_impl<I, tuple<Values...> >::get(t);
267 template<int I, typename... Values>
268 struct safe_tuple_element<I, tuple<Values...>,
269 typename enable_if<(I >= 0 && I < tuple_size<tuple<Values...> >::value)>::type> {
270 typedef typename tuple_element<I, tuple<Values...> >::type type;