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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user