Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: base/tuple.h

Issue 552004: Style cleanup in preparation for auto-linting base/. (Closed)
Patch Set: Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/trace_event.h ('k') | base/values.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // A Tuple is a generic templatized container, similar in concept to std::pair. 5 // A Tuple is a generic templatized container, similar in concept to std::pair.
6 // There are classes Tuple0 to Tuple6, cooresponding to the number of elements 6 // There are classes Tuple0 to Tuple6, cooresponding to the number of elements
7 // it contains. The convenient MakeTuple() function takes 0 to 6 arguments, 7 // it contains. The convenient MakeTuple() function takes 0 to 6 arguments,
8 // and will construct and return the appropriate Tuple object. The functions 8 // and will construct and return the appropriate Tuple object. The functions
9 // DispatchToMethod and DispatchToFunction take a function pointer or instance 9 // DispatchToMethod and DispatchToFunction take a function pointer or instance
10 // and method pointer, and unpack a tuple into arguments to the call. 10 // and method pointer, and unpack a tuple into arguments to the call.
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 } 164 }
165 165
166 A a; 166 A a;
167 B b; 167 B b;
168 C c; 168 C c;
169 D d; 169 D d;
170 }; 170 };
171 171
172 template <class A, class B, class C, class D, class E> 172 template <class A, class B, class C, class D, class E>
173 struct Tuple5 { 173 struct Tuple5 {
174 public: 174 public:
175 typedef A TypeA; 175 typedef A TypeA;
176 typedef B TypeB; 176 typedef B TypeB;
177 typedef C TypeC; 177 typedef C TypeC;
178 typedef D TypeD; 178 typedef D TypeD;
179 typedef E TypeE; 179 typedef E TypeE;
180 typedef Tuple5<typename TupleTraits<A>::ValueType, 180 typedef Tuple5<typename TupleTraits<A>::ValueType,
181 typename TupleTraits<B>::ValueType, 181 typename TupleTraits<B>::ValueType,
182 typename TupleTraits<C>::ValueType, 182 typename TupleTraits<C>::ValueType,
183 typename TupleTraits<D>::ValueType, 183 typename TupleTraits<D>::ValueType,
184 typename TupleTraits<E>::ValueType> ValueTuple; 184 typename TupleTraits<E>::ValueType> ValueTuple;
(...skipping 19 matching lines...) Expand all
204 204
205 A a; 205 A a;
206 B b; 206 B b;
207 C c; 207 C c;
208 D d; 208 D d;
209 E e; 209 E e;
210 }; 210 };
211 211
212 template <class A, class B, class C, class D, class E, class F> 212 template <class A, class B, class C, class D, class E, class F>
213 struct Tuple6 { 213 struct Tuple6 {
214 public: 214 public:
215 typedef A TypeA; 215 typedef A TypeA;
216 typedef B TypeB; 216 typedef B TypeB;
217 typedef C TypeC; 217 typedef C TypeC;
218 typedef D TypeD; 218 typedef D TypeD;
219 typedef E TypeE; 219 typedef E TypeE;
220 typedef F TypeF; 220 typedef F TypeF;
221 typedef Tuple6<typename TupleTraits<A>::ValueType, 221 typedef Tuple6<typename TupleTraits<A>::ValueType,
222 typename TupleTraits<B>::ValueType, 222 typename TupleTraits<B>::ValueType,
223 typename TupleTraits<C>::ValueType, 223 typename TupleTraits<C>::ValueType,
224 typename TupleTraits<D>::ValueType, 224 typename TupleTraits<D>::ValueType,
(...skipping 25 matching lines...) Expand all
250 A a; 250 A a;
251 B b; 251 B b;
252 C c; 252 C c;
253 D d; 253 D d;
254 E e; 254 E e;
255 F f; 255 F f;
256 }; 256 };
257 257
258 template <class A, class B, class C, class D, class E, class F, class G> 258 template <class A, class B, class C, class D, class E, class F, class G>
259 struct Tuple7 { 259 struct Tuple7 {
260 public: 260 public:
261 typedef A TypeA; 261 typedef A TypeA;
262 typedef B TypeB; 262 typedef B TypeB;
263 typedef C TypeC; 263 typedef C TypeC;
264 typedef D TypeD; 264 typedef D TypeD;
265 typedef E TypeE; 265 typedef E TypeE;
266 typedef F TypeF; 266 typedef F TypeF;
267 typedef G TypeG; 267 typedef G TypeG;
268 typedef Tuple7<typename TupleTraits<A>::ValueType, 268 typedef Tuple7<typename TupleTraits<A>::ValueType,
269 typename TupleTraits<B>::ValueType, 269 typename TupleTraits<B>::ValueType,
270 typename TupleTraits<C>::ValueType, 270 typename TupleTraits<C>::ValueType,
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 } 602 }
603 603
604 template<class ObjT, class Method, class InA, class InB, class InC, class InD, 604 template<class ObjT, class Method, class InA, class InB, class InC, class InD,
605 class OutA> 605 class OutA>
606 inline void DispatchToMethod(ObjT* obj, Method method, 606 inline void DispatchToMethod(ObjT* obj, Method method,
607 const Tuple4<InA, InB, InC, InD>& in, 607 const Tuple4<InA, InB, InC, InD>& in,
608 Tuple1<OutA>* out) { 608 Tuple1<OutA>* out) {
609 (obj->*method)(in.a, in.b, in.c, in.d, &out->a); 609 (obj->*method)(in.a, in.b, in.c, in.d, &out->a);
610 } 610 }
611 611
612 template<class ObjT, class Method, 612 template<class ObjT, class Method, class InA, class InB, class InC, class InD,
613 class InA, class InB, class InC, class InD, class InE, 613 class InE, class OutA>
614 class OutA>
615 inline void DispatchToMethod(ObjT* obj, Method method, 614 inline void DispatchToMethod(ObjT* obj, Method method,
616 const Tuple5<InA, InB, InC, InD, InE>& in, 615 const Tuple5<InA, InB, InC, InD, InE>& in,
617 Tuple1<OutA>* out) { 616 Tuple1<OutA>* out) {
618 (obj->*method)(in.a, in.b, in.c, in.d, in.e, &out->a); 617 (obj->*method)(in.a, in.b, in.c, in.d, in.e, &out->a);
619 } 618 }
620 619
621 template<class ObjT, class Method, 620 template<class ObjT, class Method,
622 class InA, class InB, class InC, class InD, class InE, class InF, 621 class InA, class InB, class InC, class InD, class InE, class InF,
623 class OutA> 622 class OutA>
624 inline void DispatchToMethod(ObjT* obj, Method method, 623 inline void DispatchToMethod(ObjT* obj, Method method,
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 class InA, class InB, class InC, class InD, class InE, class InF, 897 class InA, class InB, class InC, class InD, class InE, class InF,
899 class OutA, class OutB, class OutC, class OutD, class OutE> 898 class OutA, class OutB, class OutC, class OutD, class OutE>
900 inline void DispatchToMethod(ObjT* obj, Method method, 899 inline void DispatchToMethod(ObjT* obj, Method method,
901 const Tuple6<InA, InB, InC, InD, InE, InF>& in, 900 const Tuple6<InA, InB, InC, InD, InE, InF>& in,
902 Tuple5<OutA, OutB, OutC, OutD, OutE>* out) { 901 Tuple5<OutA, OutB, OutC, OutD, OutE>* out) {
903 (obj->*method)(in.a, in.b, in.c, in.d, in.e, in.f, 902 (obj->*method)(in.a, in.b, in.c, in.d, in.e, in.f,
904 &out->a, &out->b, &out->c, &out->d, &out->e); 903 &out->a, &out->b, &out->c, &out->d, &out->e);
905 } 904 }
906 905
907 #endif // BASE_TUPLE_H__ 906 #endif // BASE_TUPLE_H__
OLDNEW
« no previous file with comments | « base/trace_event.h ('k') | base/values.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698