summaryrefslogtreecommitdiffstats
path: root/base/bind_internal_win.h.pump
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 22:35:14 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 22:35:14 +0000
commit935405891d4f2cb40c4fe287e3e4c06ade5c38ce (patch)
treed71dd33fe46eeddb200d92dda1d02c9c0b8a7c10 /base/bind_internal_win.h.pump
parent409dc6ef2d6095d71f6ea4f59b07106b91626d24 (diff)
downloadchromium_src-935405891d4f2cb40c4fe287e3e4c06ade5c38ce.zip
chromium_src-935405891d4f2cb40c4fe287e3e4c06ade5c38ce.tar.gz
chromium_src-935405891d4f2cb40c4fe287e3e4c06ade5c38ce.tar.bz2
Support binding WeakPtr<> to methods with void return types.
This should give functionality similar to ScopedRunnableMethodFactory. Note that binding a WeakPtr only make sense with methods with void return types. If the return type is not void, then it is unclear what the function should return when the pointer is invalidated. This code adds a compile time assert to check the return type. BUG=35223 TEST=unittests Review URL: http://codereview.chromium.org/7015064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85549 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/bind_internal_win.h.pump')
-rw-r--r--base/bind_internal_win.h.pump4
1 files changed, 4 insertions, 0 deletions
diff --git a/base/bind_internal_win.h.pump b/base/bind_internal_win.h.pump
index d293fcc..80ee37d 100644
--- a/base/bind_internal_win.h.pump
+++ b/base/bind_internal_win.h.pump
@@ -40,6 +40,8 @@ struct FunctionTraits<R(__stdcall *)($for ARG , [[X$(ARG)]])> {
typedef R (*NormalizedSig)($for ARG , [[X$(ARG)]]);
typedef false_type IsMethod;
+ typedef R Return;
+
$if ARITY > 0 [[
// Target type for each bound parameter.
@@ -58,6 +60,8 @@ struct FunctionTraits<R(__fastcall *)($for ARG , [[X$(ARG)]])> {
typedef R (*NormalizedSig)($for ARG , [[X$(ARG)]]);
typedef false_type IsMethod;
+ typedef R Return;
+
$if ARITY > 0 [[
// Target type for each bound parameter.