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

Unified Diff: base/callback.h

Issue 6538045: Callback: Replumb the type-inference. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/base
Patch Set: rebased Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/bind_internal.h.pump ('k') | base/callback.h.pump » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/callback.h
diff --git a/base/callback.h b/base/callback.h
index 9c76aa5246586344a2c4f2febd40fda79f623bb8..bcc3dfdd4f7dc51bac9f77cac5942c950fd6a819 100644
--- a/base/callback.h
+++ b/base/callback.h
@@ -221,6 +221,7 @@ namespace base {
// only has one type: the function signature.
template <typename Sig>
class Callback;
+
template <typename R>
class Callback<R(void)> : public internal::CallbackBase {
public:
@@ -238,7 +239,7 @@ class Callback<R(void)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -267,7 +268,7 @@ class Callback<R(A1)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -297,7 +298,7 @@ class Callback<R(A1, A2)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -330,7 +331,7 @@ class Callback<R(A1, A2, A3)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -366,7 +367,7 @@ class Callback<R(A1, A2, A3, A4)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -406,7 +407,7 @@ class Callback<R(A1, A2, A3, A4, A5)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
@@ -449,7 +450,7 @@ class Callback<R(A1, A2, A3, A4, A5, A6)> : public internal::CallbackBase {
template <typename T>
Callback(const internal::InvokerStorageHolder<T>& invoker_holder)
: CallbackBase(
- reinterpret_cast<InvokeFuncStorage>(&T::FunctionTraits::DoInvoke),
+ reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke),
&invoker_holder.invoker_storage_) {
}
« no previous file with comments | « base/bind_internal.h.pump ('k') | base/callback.h.pump » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698