summaryrefslogtreecommitdiffstats
path: root/base/tuple.h
diff options
context:
space:
mode:
authortzik <tzik@chromium.org>2016-02-15 20:56:31 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-16 04:58:02 +0000
commit1ea87e3a0101b7860efe4bbec8f3c539a33facd9 (patch)
tree77a67b937d02af748836f732be5c2a00e745ddcf /base/tuple.h
parent26d7fdbd59252262be8aacb33537bed3316a9428 (diff)
downloadchromium_src-1ea87e3a0101b7860efe4bbec8f3c539a33facd9.zip
chromium_src-1ea87e3a0101b7860efe4bbec8f3c539a33facd9.tar.gz
chromium_src-1ea87e3a0101b7860efe4bbec8f3c539a33facd9.tar.bz2
Support smart pointers in base::DispatchToMethod
* Make base::DispatchToMethod to accept smart pointers as the this pointer * Remove base::internal::UnwrapTraits from //storage code BUG=554299 Review URL: https://codereview.chromium.org/1696093002 Cr-Commit-Position: refs/heads/master@{#375516}
Diffstat (limited to 'base/tuple.h')
-rw-r--r--base/tuple.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/base/tuple.h b/base/tuple.h
index e73dd49c..d07d38c 100644
--- a/base/tuple.h
+++ b/base/tuple.h
@@ -196,7 +196,7 @@ inline Tuple<Ts&...> MakeRefTuple(Ts&... arg) {
// Non-Static Dispatchers with no out params.
template <typename ObjT, typename Method, typename... Ts, size_t... Ns>
-inline void DispatchToMethodImpl(ObjT* obj,
+inline void DispatchToMethodImpl(const ObjT& obj,
Method method,
const Tuple<Ts...>& arg,
IndexSequence<Ns...>) {
@@ -204,7 +204,7 @@ inline void DispatchToMethodImpl(ObjT* obj,
}
template <typename ObjT, typename Method, typename... Ts>
-inline void DispatchToMethod(ObjT* obj,
+inline void DispatchToMethod(const ObjT& obj,
Method method,
const Tuple<Ts...>& arg) {
DispatchToMethodImpl(obj, method, arg, MakeIndexSequence<sizeof...(Ts)>());
@@ -232,7 +232,7 @@ template <typename ObjT,
typename... OutTs,
size_t... InNs,
size_t... OutNs>
-inline void DispatchToMethodImpl(ObjT* obj,
+inline void DispatchToMethodImpl(const ObjT& obj,
Method method,
const Tuple<InTs...>& in,
Tuple<OutTs...>* out,
@@ -243,7 +243,7 @@ inline void DispatchToMethodImpl(ObjT* obj,
}
template <typename ObjT, typename Method, typename... InTs, typename... OutTs>
-inline void DispatchToMethod(ObjT* obj,
+inline void DispatchToMethod(const ObjT& obj,
Method method,
const Tuple<InTs...>& in,
Tuple<OutTs...>* out) {