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

Unified Diff: base/bind_internal.h

Issue 9021032: Redo r113722 - Add Pass(), which implements move semantics, to scoped_ptr, scoped_array.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/bind_helpers.h ('k') | base/bind_internal.h.pump » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/bind_internal.h
diff --git a/base/bind_internal.h b/base/bind_internal.h
index ccd7ab2fbb87b9bc53e5d1f2768de703bbeeed61..50ffaa526787864e72138f3ae98d0b6597b8e635 100644
--- a/base/bind_internal.h
+++ b/base/bind_internal.h
@@ -76,7 +76,6 @@ namespace internal {
// into the Bind() system, doing most of the type resolution.
// There are ARITY BindState types.
-
// RunnableAdapter<>
//
// The RunnableAdapter<> templates provide a uniform interface for invoking
@@ -167,7 +166,7 @@ class RunnableAdapter<R(*)(A1)> {
}
R Run(typename CallbackParamTraits<A1>::ForwardType a1) {
- return function_(a1);
+ return function_(CallbackForward(a1));
}
private:
@@ -186,7 +185,7 @@ class RunnableAdapter<R(T::*)(A1)> {
}
R Run(T* object, typename CallbackParamTraits<A1>::ForwardType a1) {
- return (object->*method_)(a1);
+ return (object->*method_)(CallbackForward(a1));
}
private:
@@ -205,7 +204,7 @@ class RunnableAdapter<R(T::*)(A1) const> {
}
R Run(const T* object, typename CallbackParamTraits<A1>::ForwardType a1) {
- return (object->*method_)(a1);
+ return (object->*method_)(CallbackForward(a1));
}
private:
@@ -224,7 +223,7 @@ class RunnableAdapter<R(*)(A1, A2)> {
R Run(typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2) {
- return function_(a1, a2);
+ return function_(CallbackForward(a1), CallbackForward(a2));
}
private:
@@ -244,7 +243,7 @@ class RunnableAdapter<R(T::*)(A1, A2)> {
R Run(T* object, typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2) {
- return (object->*method_)(a1, a2);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2));
}
private:
@@ -264,7 +263,7 @@ class RunnableAdapter<R(T::*)(A1, A2) const> {
R Run(const T* object, typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2) {
- return (object->*method_)(a1, a2);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2));
}
private:
@@ -284,7 +283,8 @@ class RunnableAdapter<R(*)(A1, A2, A3)> {
R Run(typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3) {
- return function_(a1, a2, a3);
+ return function_(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3));
}
private:
@@ -305,7 +305,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3)> {
R Run(T* object, typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3) {
- return (object->*method_)(a1, a2, a3);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3));
}
private:
@@ -326,7 +327,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3) const> {
R Run(const T* object, typename CallbackParamTraits<A1>::ForwardType a1,
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3) {
- return (object->*method_)(a1, a2, a3);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3));
}
private:
@@ -347,7 +349,8 @@ class RunnableAdapter<R(*)(A1, A2, A3, A4)> {
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4) {
- return function_(a1, a2, a3, a4);
+ return function_(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4));
}
private:
@@ -370,7 +373,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4)> {
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4) {
- return (object->*method_)(a1, a2, a3, a4);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4));
}
private:
@@ -393,7 +397,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4) const> {
typename CallbackParamTraits<A2>::ForwardType a2,
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4) {
- return (object->*method_)(a1, a2, a3, a4);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4));
}
private:
@@ -416,7 +421,8 @@ class RunnableAdapter<R(*)(A1, A2, A3, A4, A5)> {
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5) {
- return function_(a1, a2, a3, a4, a5);
+ return function_(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5));
}
private:
@@ -440,7 +446,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5)> {
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5) {
- return (object->*method_)(a1, a2, a3, a4, a5);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5));
}
private:
@@ -464,7 +471,8 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5) const> {
typename CallbackParamTraits<A3>::ForwardType a3,
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5) {
- return (object->*method_)(a1, a2, a3, a4, a5);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5));
}
private:
@@ -488,7 +496,9 @@ class RunnableAdapter<R(*)(A1, A2, A3, A4, A5, A6)> {
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6) {
- return function_(a1, a2, a3, a4, a5, a6);
+ return function_(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6));
}
private:
@@ -513,7 +523,9 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5, A6)> {
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6) {
- return (object->*method_)(a1, a2, a3, a4, a5, a6);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6));
}
private:
@@ -538,7 +550,9 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5, A6) const> {
typename CallbackParamTraits<A4>::ForwardType a4,
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6) {
- return (object->*method_)(a1, a2, a3, a4, a5, a6);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6));
}
private:
@@ -563,7 +577,9 @@ class RunnableAdapter<R(*)(A1, A2, A3, A4, A5, A6, A7)> {
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6,
typename CallbackParamTraits<A7>::ForwardType a7) {
- return function_(a1, a2, a3, a4, a5, a6, a7);
+ return function_(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6), CallbackForward(a7));
}
private:
@@ -589,7 +605,9 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5, A6, A7)> {
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6,
typename CallbackParamTraits<A7>::ForwardType a7) {
- return (object->*method_)(a1, a2, a3, a4, a5, a6, a7);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6), CallbackForward(a7));
}
private:
@@ -615,7 +633,9 @@ class RunnableAdapter<R(T::*)(A1, A2, A3, A4, A5, A6, A7) const> {
typename CallbackParamTraits<A5>::ForwardType a5,
typename CallbackParamTraits<A6>::ForwardType a6,
typename CallbackParamTraits<A7>::ForwardType a7) {
- return (object->*method_)(a1, a2, a3, a4, a5, a6, a7);
+ return (object->*method_)(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6), CallbackForward(a7));
}
private:
@@ -837,7 +857,7 @@ template <typename ReturnType, typename Runnable,typename A1>
struct InvokeHelper<false, ReturnType, Runnable,
void(A1)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1) {
- return runnable.Run(a1);
+ return runnable.Run(CallbackForward(a1));
}
};
@@ -845,7 +865,7 @@ template <typename Runnable,typename A1>
struct InvokeHelper<false, void, Runnable,
void(A1)> {
static void MakeItSo(Runnable runnable, A1 a1) {
- runnable.Run(a1);
+ runnable.Run(CallbackForward(a1));
}
};
@@ -857,7 +877,7 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1);
+ runnable.Run(CallbackForward(a1));
}
};
@@ -865,7 +885,7 @@ template <typename ReturnType, typename Runnable,typename A1, typename A2>
struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2) {
- return runnable.Run(a1, a2);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2));
}
};
@@ -873,7 +893,7 @@ template <typename Runnable,typename A1, typename A2>
struct InvokeHelper<false, void, Runnable,
void(A1, A2)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2) {
- runnable.Run(a1, a2);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2));
}
};
@@ -885,7 +905,7 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2));
}
};
@@ -894,7 +914,8 @@ template <typename ReturnType, typename Runnable,typename A1, typename A2,
struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2, A3)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3) {
- return runnable.Run(a1, a2, a3);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3));
}
};
@@ -902,7 +923,7 @@ template <typename Runnable,typename A1, typename A2, typename A3>
struct InvokeHelper<false, void, Runnable,
void(A1, A2, A3)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3) {
- runnable.Run(a1, a2, a3);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3));
}
};
@@ -914,7 +935,7 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2, a3);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3));
}
};
@@ -923,7 +944,8 @@ template <typename ReturnType, typename Runnable,typename A1, typename A2,
struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2, A3, A4)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4) {
- return runnable.Run(a1, a2, a3, a4);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4));
}
};
@@ -931,7 +953,8 @@ template <typename Runnable,typename A1, typename A2, typename A3, typename A4>
struct InvokeHelper<false, void, Runnable,
void(A1, A2, A3, A4)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4) {
- runnable.Run(a1, a2, a3, a4);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4));
}
};
@@ -943,7 +966,8 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2, a3, a4);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4));
}
};
@@ -953,7 +977,8 @@ struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2, A3, A4, A5)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5) {
- return runnable.Run(a1, a2, a3, a4, a5);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5));
}
};
@@ -962,7 +987,8 @@ template <typename Runnable,typename A1, typename A2, typename A3, typename A4,
struct InvokeHelper<false, void, Runnable,
void(A1, A2, A3, A4, A5)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
- runnable.Run(a1, a2, a3, a4, a5);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5));
}
};
@@ -975,7 +1001,8 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2, a3, a4, a5);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5));
}
};
@@ -985,7 +1012,9 @@ struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2, A3, A4, A5, A6)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6) {
- return runnable.Run(a1, a2, a3, a4, a5, a6);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6));
}
};
@@ -995,7 +1024,8 @@ struct InvokeHelper<false, void, Runnable,
void(A1, A2, A3, A4, A5, A6)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6) {
- runnable.Run(a1, a2, a3, a4, a5, a6);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5), CallbackForward(a6));
}
};
@@ -1009,7 +1039,8 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2, a3, a4, a5, a6);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5), CallbackForward(a6));
}
};
@@ -1019,7 +1050,9 @@ struct InvokeHelper<false, ReturnType, Runnable,
void(A1, A2, A3, A4, A5, A6, A7)> {
static ReturnType MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7) {
- return runnable.Run(a1, a2, a3, a4, a5, a6, a7);
+ return runnable.Run(CallbackForward(a1), CallbackForward(a2),
+ CallbackForward(a3), CallbackForward(a4), CallbackForward(a5),
+ CallbackForward(a6), CallbackForward(a7));
}
};
@@ -1029,7 +1062,9 @@ struct InvokeHelper<false, void, Runnable,
void(A1, A2, A3, A4, A5, A6, A7)> {
static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, A7 a7) {
- runnable.Run(a1, a2, a3, a4, a5, a6, a7);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5), CallbackForward(a6),
+ CallbackForward(a7));
}
};
@@ -1043,7 +1078,9 @@ struct InvokeHelper<true, void, Runnable,
return;
}
- runnable.Run(a1, a2, a3, a4, a5, a6, a7);
+ runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
+ CallbackForward(a4), CallbackForward(a5), CallbackForward(a6),
+ CallbackForward(a7));
}
};
@@ -1106,7 +1143,7 @@ struct Invoker<0, StorageType, R(X1)> {
return InvokeHelper<StorageType::IsWeakCall::value, R,
typename StorageType::RunnableType,
void(typename CallbackParamTraits<X1>::ForwardType x1)>
- ::MakeItSo(storage->runnable_, x1);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1));
}
};
@@ -1130,7 +1167,7 @@ struct Invoker<1, StorageType, R(X1)> {
return InvokeHelper<StorageType::IsWeakCall::value, R,
typename StorageType::RunnableType,
void(typename Bound1UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1));
}
};
@@ -1156,7 +1193,8 @@ struct Invoker<0, StorageType, R(X1, X2)> {
typename StorageType::RunnableType,
void(typename CallbackParamTraits<X1>::ForwardType x1,
typename CallbackParamTraits<X2>::ForwardType x2)>
- ::MakeItSo(storage->runnable_, x1, x2);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2));
}
};
@@ -1183,7 +1221,8 @@ struct Invoker<1, StorageType, R(X1, X2)> {
typename StorageType::RunnableType,
void(typename Bound1UnwrapTraits::ForwardType,
typename CallbackParamTraits<X2>::ForwardType x2)>
- ::MakeItSo(storage->runnable_, x1, x2);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2));
}
};
@@ -1211,7 +1250,8 @@ struct Invoker<2, StorageType, R(X1, X2)> {
typename StorageType::RunnableType,
void(typename Bound1UnwrapTraits::ForwardType,
typename Bound2UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2));
}
};
@@ -1241,7 +1281,8 @@ struct Invoker<0, StorageType, R(X1, X2, X3)> {
void(typename CallbackParamTraits<X1>::ForwardType x1,
typename CallbackParamTraits<X2>::ForwardType x2,
typename CallbackParamTraits<X3>::ForwardType x3)>
- ::MakeItSo(storage->runnable_, x1, x2, x3);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3));
}
};
@@ -1272,7 +1313,8 @@ struct Invoker<1, StorageType, R(X1, X2, X3)> {
void(typename Bound1UnwrapTraits::ForwardType,
typename CallbackParamTraits<X2>::ForwardType x2,
typename CallbackParamTraits<X3>::ForwardType x3)>
- ::MakeItSo(storage->runnable_, x1, x2, x3);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3));
}
};
@@ -1304,7 +1346,8 @@ struct Invoker<2, StorageType, R(X1, X2, X3)> {
void(typename Bound1UnwrapTraits::ForwardType,
typename Bound2UnwrapTraits::ForwardType,
typename CallbackParamTraits<X3>::ForwardType x3)>
- ::MakeItSo(storage->runnable_, x1, x2, x3);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3));
}
};
@@ -1337,7 +1380,8 @@ struct Invoker<3, StorageType, R(X1, X2, X3)> {
void(typename Bound1UnwrapTraits::ForwardType,
typename Bound2UnwrapTraits::ForwardType,
typename Bound3UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2, x3);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3));
}
};
@@ -1370,7 +1414,9 @@ struct Invoker<0, StorageType, R(X1, X2, X3, X4)> {
typename CallbackParamTraits<X2>::ForwardType x2,
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4));
}
};
@@ -1404,7 +1450,9 @@ struct Invoker<1, StorageType, R(X1, X2, X3, X4)> {
typename CallbackParamTraits<X2>::ForwardType x2,
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4));
}
};
@@ -1439,7 +1487,9 @@ struct Invoker<2, StorageType, R(X1, X2, X3, X4)> {
typename Bound2UnwrapTraits::ForwardType,
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4));
}
};
@@ -1475,7 +1525,9 @@ struct Invoker<3, StorageType, R(X1, X2, X3, X4)> {
typename Bound2UnwrapTraits::ForwardType,
typename Bound3UnwrapTraits::ForwardType,
typename CallbackParamTraits<X4>::ForwardType x4)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4));
}
};
@@ -1512,7 +1564,9 @@ struct Invoker<4, StorageType, R(X1, X2, X3, X4)> {
typename Bound2UnwrapTraits::ForwardType,
typename Bound3UnwrapTraits::ForwardType,
typename Bound4UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4));
}
};
@@ -1548,7 +1602,9 @@ struct Invoker<0, StorageType, R(X1, X2, X3, X4, X5)> {
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1585,7 +1641,9 @@ struct Invoker<1, StorageType, R(X1, X2, X3, X4, X5)> {
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1623,7 +1681,9 @@ struct Invoker<2, StorageType, R(X1, X2, X3, X4, X5)> {
typename CallbackParamTraits<X3>::ForwardType x3,
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1662,7 +1722,9 @@ struct Invoker<3, StorageType, R(X1, X2, X3, X4, X5)> {
typename Bound3UnwrapTraits::ForwardType,
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1702,7 +1764,9 @@ struct Invoker<4, StorageType, R(X1, X2, X3, X4, X5)> {
typename Bound3UnwrapTraits::ForwardType,
typename Bound4UnwrapTraits::ForwardType,
typename CallbackParamTraits<X5>::ForwardType x5)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1743,7 +1807,9 @@ struct Invoker<5, StorageType, R(X1, X2, X3, X4, X5)> {
typename Bound3UnwrapTraits::ForwardType,
typename Bound4UnwrapTraits::ForwardType,
typename Bound5UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5));
}
};
@@ -1782,7 +1848,10 @@ struct Invoker<0, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -1822,7 +1891,10 @@ struct Invoker<1, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -1863,7 +1935,10 @@ struct Invoker<2, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -1905,7 +1980,10 @@ struct Invoker<3, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename CallbackParamTraits<X4>::ForwardType x4,
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -1948,7 +2026,10 @@ struct Invoker<4, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename Bound4UnwrapTraits::ForwardType,
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -1992,7 +2073,10 @@ struct Invoker<5, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename Bound4UnwrapTraits::ForwardType,
typename Bound5UnwrapTraits::ForwardType,
typename CallbackParamTraits<X6>::ForwardType x6)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -2037,7 +2121,10 @@ struct Invoker<6, StorageType, R(X1, X2, X3, X4, X5, X6)> {
typename Bound4UnwrapTraits::ForwardType,
typename Bound5UnwrapTraits::ForwardType,
typename Bound6UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6));
}
};
@@ -2079,7 +2166,10 @@ struct Invoker<0, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2122,7 +2212,10 @@ struct Invoker<1, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2166,7 +2259,10 @@ struct Invoker<2, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2211,7 +2307,10 @@ struct Invoker<3, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2257,7 +2356,10 @@ struct Invoker<4, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename CallbackParamTraits<X5>::ForwardType x5,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2304,7 +2406,10 @@ struct Invoker<5, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename Bound5UnwrapTraits::ForwardType,
typename CallbackParamTraits<X6>::ForwardType x6,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2352,7 +2457,10 @@ struct Invoker<6, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename Bound5UnwrapTraits::ForwardType,
typename Bound6UnwrapTraits::ForwardType,
typename CallbackParamTraits<X7>::ForwardType x7)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
@@ -2401,7 +2509,10 @@ struct Invoker<7, StorageType, R(X1, X2, X3, X4, X5, X6, X7)> {
typename Bound5UnwrapTraits::ForwardType,
typename Bound6UnwrapTraits::ForwardType,
typename Bound7UnwrapTraits::ForwardType)>
- ::MakeItSo(storage->runnable_, x1, x2, x3, x4, x5, x6, x7);
+ ::MakeItSo(storage->runnable_, CallbackForward(x1),
+ CallbackForward(x2), CallbackForward(x3),
+ CallbackForward(x4), CallbackForward(x5),
+ CallbackForward(x6), CallbackForward(x7));
}
};
« no previous file with comments | « base/bind_helpers.h ('k') | base/bind_internal.h.pump » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698