Index: base/bind_internal.h |
diff --git a/base/bind_internal.h b/base/bind_internal.h |
index ccd7ab2fbb87b9bc53e5d1f2768de703bbeeed61..ab7d394f3b1056b1c5cabfe9f2e10db80ea5fb0c 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_(BindMoveSupport(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_)(BindMoveSupport(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_)(BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(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_(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(a6), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(a6), BindMoveSupport(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_)(BindMoveSupport(a1), BindMoveSupport(a2), |
+ BindMoveSupport(a3), BindMoveSupport(a4), BindMoveSupport(a5), |
+ BindMoveSupport(a6), BindMoveSupport(a7)); |
} |
private: |