diff options
author | Gennadiy Civil <misterg@google.com> | 2018-04-17 20:12:04 (GMT) |
---|---|---|
committer | Gennadiy Civil <misterg@google.com> | 2018-04-17 20:12:04 (GMT) |
commit | dff32aff97a682dfc603ac99bedc639b959e24a8 (patch) | |
tree | 4fad9320db485a823cd41f13f484b8edb7fce185 /googlemock/include | |
parent | 3f88bb1831e48029e52fefcf654bfab5cf3a952c (diff) | |
download | googletest-dff32aff97a682dfc603ac99bedc639b959e24a8.zip googletest-dff32aff97a682dfc603ac99bedc639b959e24a8.tar.gz googletest-dff32aff97a682dfc603ac99bedc639b959e24a8.tar.bz2 |
http://cl/193060888
Diffstat (limited to 'googlemock/include')
-rw-r--r-- | googlemock/include/gmock/gmock-matchers.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/googlemock/include/gmock/gmock-matchers.h b/googlemock/include/gmock/gmock-matchers.h index 62e9233..7c70775 100644 --- a/googlemock/include/gmock/gmock-matchers.h +++ b/googlemock/include/gmock/gmock-matchers.h @@ -5202,19 +5202,27 @@ std::string DescribeMatcher(const M& matcher, bool negation = false) { // Define variadic matcher versions. They are overloaded in // gmock-generated-matchers.h for the cases supported by pre C++11 compilers. template <typename... Args> -inline internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) { +internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) { return internal::AllOfMatcher<Args...>(matchers...); } template <typename... Args> -inline internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) { +internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) { return internal::AnyOfMatcher<Args...>(matchers...); } template <typename... Args> -inline internal::UnorderedElementsAreMatcher<Args...> -UnorderedElementsAreMatcher(const Args&... matchers) { - return internal::UnorderedElementsAreMatcher<Args...>(matchers...); +internal::ElementsAreMatcher<tuple<typename std::decay<Args>::type...>> +ElementsAre(const Args&... matchers) { + return internal::ElementsAreMatcher< + tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...)); +} + +template <typename... Args> +internal::UnorderedElementsAreMatcher<tuple<typename std::decay<Args>::type...>> +UnorderedElementsAre(const Args&... matchers) { + return internal::UnorderedElementsAreMatcher< + tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...)); } #endif // GTEST_LANG_CXX11 |