summaryrefslogtreecommitdiffstats
path: root/googlemock/include/gmock/gmock-actions.h
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2019-12-18 09:40:32 (GMT)
committerAndy Soffer <asoffer@google.com>2020-01-02 21:48:34 (GMT)
commit6f1a8ffde934f4dda39cc12cd7260874c4f3e390 (patch)
treede83356f53f36e64dfb92136a7a357bd33cbd41a /googlemock/include/gmock/gmock-actions.h
parentd166e09483845b9b6a658dccc3d3dbb293676b62 (diff)
downloadgoogletest-6f1a8ffde934f4dda39cc12cd7260874c4f3e390.zip
googletest-6f1a8ffde934f4dda39cc12cd7260874c4f3e390.tar.gz
googletest-6f1a8ffde934f4dda39cc12cd7260874c4f3e390.tar.bz2
Googletest export
Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h. Make InvokeArgumentAdl use variadic templates to generate its overloads instead of using pump.py syntax. PiperOrigin-RevId: 286148805
Diffstat (limited to 'googlemock/include/gmock/gmock-actions.h')
-rw-r--r--googlemock/include/gmock/gmock-actions.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/googlemock/include/gmock/gmock-actions.h b/googlemock/include/gmock/gmock-actions.h
index 4b8dceb..f5ac139 100644
--- a/googlemock/include/gmock/gmock-actions.h
+++ b/googlemock/include/gmock/gmock-actions.h
@@ -1222,6 +1222,23 @@ class ActionHelper {
}
};
+namespace invoke_argument {
+
+// Appears in InvokeArgumentAdl's argument list to help avoid
+// accidental calls to user functions of the same name.
+struct AdlTag {};
+
+// InvokeArgumentAdl - a helper for InvokeArgument.
+// The basic overloads are provided here for generic functors.
+// Overloads for other custom-callables are provided in the
+// internal/custom/gmock-generated-actions.h header.
+
+template <typename R, typename F, typename... Args>
+R InvokeArgumentAdl(AdlTag, F f, Args&&... args) {
+ return f(std::forward<Args>(args)...);
+}
+
+} // namespace invoke_argument
} // namespace internal
} // namespace testing