diff options
author | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:23:55 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:23:55 -0400 |
commit | feac56827dd1f0d159ea0bcf2ce37ef1990ac743 (patch) | |
tree | bc8ca767be02a5b22118108f9712b72ec64064c3 /absl/random/internal/mock_helpers.h | |
parent | 2b91b17d526b464840a3f45504c594cdb50152c5 (diff) | |
parent | 997aaf3a28308eba1b9156aa35ab7bca9688e9f6 (diff) |
Merge new upstream LTS 20210324.0
Diffstat (limited to 'absl/random/internal/mock_helpers.h')
-rw-r--r-- | absl/random/internal/mock_helpers.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/absl/random/internal/mock_helpers.h b/absl/random/internal/mock_helpers.h index 9af27ab3..9d6ab21e 100644 --- a/absl/random/internal/mock_helpers.h +++ b/absl/random/internal/mock_helpers.h @@ -80,6 +80,13 @@ class MockHelpers { } public: + // InvokeMock is private; this provides access for some specialized use cases. + template <typename URBG> + static inline bool PrivateInvokeMock(URBG* urbg, IdType type, + void* args_tuple, void* result) { + return urbg->InvokeMock(type, args_tuple, result); + } + // Invoke a mock for the KeyT (may or may not be a signature). // // KeyT is used to generate a typeid-based lookup key for the mock. @@ -109,14 +116,14 @@ class MockHelpers { // The mocked function signature will be composed from KeyT as: // result_type(args...) template <typename KeyT, typename MockURBG> - static auto MockFor(MockURBG& m) -> decltype( - std::declval<MockURBG>() - .template RegisterMock<typename KeySignature<KeyT>::result_type, - typename KeySignature<KeyT>::arg_tuple_type>( - std::declval<IdType>())) { + static auto MockFor(MockURBG& m) + -> decltype(m.template RegisterMock< + typename KeySignature<KeyT>::result_type, + typename KeySignature<KeyT>::arg_tuple_type>( + m, std::declval<IdType>())) { return m.template RegisterMock<typename KeySignature<KeyT>::result_type, typename KeySignature<KeyT>::arg_tuple_type>( - ::absl::base_internal::FastTypeId<KeyT>()); + m, ::absl::base_internal::FastTypeId<KeyT>()); } }; |