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

Side by Side Diff: base/tuple.h

Issue 8037050: Remove chromeos specific debug code from tuple.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 12 matching lines...) Expand all
23 // &SomeFunc, MakeTuple(10, "foo")); // SomeFunc(10, "foo") 23 // &SomeFunc, MakeTuple(10, "foo")); // SomeFunc(10, "foo")
24 // 24 //
25 // struct { void SomeMeth(int a, int b, int c) { } } foo; 25 // struct { void SomeMeth(int a, int b, int c) { } } foo;
26 // DispatchToMethod(&foo, &Foo::SomeMeth, MakeTuple(1, 2, 3)); 26 // DispatchToMethod(&foo, &Foo::SomeMeth, MakeTuple(1, 2, 3));
27 // // foo->SomeMeth(1, 2, 3); 27 // // foo->SomeMeth(1, 2, 3);
28 28
29 #ifndef BASE_TUPLE_H__ 29 #ifndef BASE_TUPLE_H__
30 #define BASE_TUPLE_H__ 30 #define BASE_TUPLE_H__
31 #pragma once 31 #pragma once
32 32
33 #if defined(OS_CHROMEOS)
34 // To troubleshoot crosbug.com/7327.
35 #include "base/logging.h"
36 #endif
37 // Traits ---------------------------------------------------------------------- 33 // Traits ----------------------------------------------------------------------
38 // 34 //
39 // A simple traits class for tuple arguments. 35 // A simple traits class for tuple arguments.
40 // 36 //
41 // ValueType: the bare, nonref version of a type (same as the type for nonrefs). 37 // ValueType: the bare, nonref version of a type (same as the type for nonrefs).
42 // RefType: the ref version of a type (same as the type for refs). 38 // RefType: the ref version of a type (same as the type for refs).
43 // ParamType: what type to pass to functions (refs should not be constified). 39 // ParamType: what type to pass to functions (refs should not be constified).
44 40
45 template <class P> 41 template <class P>
46 struct TupleTraits { 42 struct TupleTraits {
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 class InA, class InB, class InC, class InD, class InE, class InF, 1043 class InA, class InB, class InC, class InD, class InE, class InF,
1048 class OutA, class OutB, class OutC, class OutD, class OutE> 1044 class OutA, class OutB, class OutC, class OutD, class OutE>
1049 inline void DispatchToMethod(ObjT* obj, Method method, 1045 inline void DispatchToMethod(ObjT* obj, Method method,
1050 const Tuple6<InA, InB, InC, InD, InE, InF>& in, 1046 const Tuple6<InA, InB, InC, InD, InE, InF>& in,
1051 Tuple5<OutA, OutB, OutC, OutD, OutE>* out) { 1047 Tuple5<OutA, OutB, OutC, OutD, OutE>* out) {
1052 (obj->*method)(in.a, in.b, in.c, in.d, in.e, in.f, 1048 (obj->*method)(in.a, in.b, in.c, in.d, in.e, in.f,
1053 &out->a, &out->b, &out->c, &out->d, &out->e); 1049 &out->a, &out->b, &out->c, &out->d, &out->e);
1054 } 1050 }
1055 1051
1056 #endif // BASE_TUPLE_H__ 1052 #endif // BASE_TUPLE_H__
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698