diff options
author | Abseil Team <absl-team@google.com> | 2019-12-18 09:40:32 (GMT) |
---|---|---|
committer | Andy Soffer <asoffer@google.com> | 2020-01-02 21:48:34 (GMT) |
commit | 6f1a8ffde934f4dda39cc12cd7260874c4f3e390 (patch) | |
tree | de83356f53f36e64dfb92136a7a357bd33cbd41a /googlemock/include/gmock/gmock-actions.h | |
parent | d166e09483845b9b6a658dccc3d3dbb293676b62 (diff) | |
download | googletest-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.h | 17 |
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 |