Create implementation macroses for matchers to move variadic parameters to the
end of parameters list.
To save backward compatibility, old macroses will be still taking `description`
parameter as the last one. But they will use INTERNAL macro that takes
`description` as the second parameter.
PiperOrigin-RevId: 291724469
Move part of functionality of Matcher* class to the base one. Reduce copypaste.
Make constructor and conversion operator of Matcher* class independent of pump.
PiperOrigin-RevId: 291405510
Add missing explicit keyword for gmock_Impl constructor.
When switching to using GMOCK_PP in ACTION* macroses `explicit` keyword was
missed in gmock_Impl constructor causing ClangTidy warnings in ACTION_P macro.
PiperOrigin-RevId: 291159975
Allow copying of the string in MatchAndExplain.
Otherwise, conversions from std::string_view to std::string will fail as being
explicit
PiperOrigin-RevId: 290301103
Use GMOCK_PP to create GMOCK_INTERNAL_ACTION macro.
Create GMOCK_INTERNAL_ACTION macro that generates ACTION_P* macroses using
GMOCK_PP.
PiperOrigin-RevId: 289815906
Use GMOCK_PP to generate args boilerplate.
Move common args describing part to separate macroses that uses GMOCK_PP to
generate sequences.
PiperOrigin-RevId: 289655624
Move part of functionality of Action* class to the base one. Reduce copypaste.
Make constructor and conversion operator of Action* class independent of pump.
PiperOrigin-RevId: 288907005
Use C++11 variadic templates for Invoke in gmock-generated-actions.h.
Replace InvokeArgumentAdl with Invoke that uses C++11 variadic templates.
PiperOrigin-RevId: 288449236
Explicitly default copy constructor in BoundSecondMatcher
Since C++11, implicit defaulting of copy constructors is deprecated for types
with user-defined copy assignment operators, so we should explicitly default the
copy constructor of BoundSecondMatcher.
PiperOrigin-RevId: 287587847
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: 286267615
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
Use C++11 variadic templates for ActionHelper in gmock-generated-actions.h.
Make ActionHelper use variadic templates to generate Perform static member function specializations instead of using pump.py syntax.
PiperOrigin-RevId: 284988441
Use standard C++11 integer types in gtest-port.h.
Remove testing::internal::{Int,Uint}{32,64} in favor of types
guaranteed to be in <cstdint> since C++11.
Tests for built-in integer type coverage are switched from
{Int,Uint}64 to [unsigned] long long, which is guaranteed by
C++11 to exist and be at least 64-bit wide.
PiperOrigin-RevId: 281565263
Avoid temporary matcher instances.
They are unnecessary and can be relatively more expensive than the rest of the
algorithm.
PiperOrigin-RevId: 277084853
Add a matcher `testing::ReturnRoundRobin` which, on each call, returns the next element in the sequence, restarting at the beginning once it has reached the end.
PiperOrigin-RevId: 276312136
Remove bool_constant in favor of std::integral_constant<bool, ...>;
The one non-trivial use of bool_constant has been changed to have significantly
fewer template specializations.
PiperOrigin-RevId: 275842490
Rolling forward IsNan() matcher with fixes in test for -Wconversion issues. Use
std::nanf and std::nanl where appropriate.
PiperOrigin-RevId: 275523003
Mark more functions with "override" keyword, just like
it was done in commit 2460f97152.
This should prevent compiler from complaining while compiling both
user code, and the googletest code itself with the -Wsuggest-override
option turned on; with the exception of:
* calls to new MOCK_METHOD() in test/gmock-function-mocker_test.cc
* calls to old MOCK_METHODx()/MOCK_CONST_METHODx() in other
unit test files.
Closes#2493