aboutsummaryrefslogtreecommitdiffstats
path: root/googlemock/include
diff options
context:
space:
mode:
authorkuzkry <krystian.kuzniarek@gmail.com>2019-08-29 14:38:09 -0400
committerGennadiy Rozental <rogeeff@google.com>2019-09-06 08:00:03 -0400
commitab8f346b076f76f7770f33437fb5823fa444cb80 (patch)
tree35ce84e546aab767ce0a650e39c0600c16629e0f /googlemock/include
parent565f1b848215b77c3732bca345fe76a0431d8b34 (diff)
downloadgoogletest-ab8f346b076f76f7770f33437fb5823fa444cb80.tar.gz
googletest-ab8f346b076f76f7770f33437fb5823fa444cb80.tar.bz2
googletest-ab8f346b076f76f7770f33437fb5823fa444cb80.zip
Googletest export
Merge 7f4f58da20e1066a888d3e4bcbef541db798a605 into 90a443f9c2437ca8a682a1ac625eba64e1d74a8a Closes #2395 COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2395 from kuzkry:custom-type-traits-remove_reference 7f4f58da20e1066a888d3e4bcbef541db798a605 PiperOrigin-RevId: 266189044
Diffstat (limited to 'googlemock/include')
-rw-r--r--googlemock/include/gmock/gmock-matchers.h5
-rw-r--r--googlemock/include/gmock/gmock-spec-builders.h4
-rw-r--r--googlemock/include/gmock/internal/gmock-internal-utils.h4
3 files changed, 4 insertions, 9 deletions
diff --git a/googlemock/include/gmock/gmock-matchers.h b/googlemock/include/gmock/gmock-matchers.h
index fa50903b..70092157 100644
--- a/googlemock/include/gmock/gmock-matchers.h
+++ b/googlemock/include/gmock/gmock-matchers.h
@@ -1607,9 +1607,8 @@ class PointeeMatcher {
template <typename Pointer>
class Impl : public MatcherInterface<Pointer> {
public:
- typedef
- typename PointeeOf<typename std::remove_const<GTEST_REMOVE_REFERENCE_(
- Pointer)>::type>::type Pointee;
+ typedef typename PointeeOf<typename std::remove_const<
+ typename std::remove_reference<Pointer>::type>::type>::type Pointee;
explicit Impl(const InnerMatcher& matcher)
: matcher_(MatcherCast<const Pointee&>(matcher)) {}
diff --git a/googlemock/include/gmock/gmock-spec-builders.h b/googlemock/include/gmock/gmock-spec-builders.h
index 0d1adda5..66429dfa 100644
--- a/googlemock/include/gmock/gmock-spec-builders.h
+++ b/googlemock/include/gmock/gmock-spec-builders.h
@@ -1320,8 +1320,8 @@ class ReferenceOrValueWrapper {
// Provides nondestructive access to the underlying value/reference.
// Always returns a const reference (more precisely,
- // const RemoveReference<T>&). The behavior of calling this after
- // calling Unwrap on the same object is unspecified.
+ // const std::add_lvalue_reference<T>::type). The behavior of calling this
+ // after calling Unwrap on the same object is unspecified.
const T& Peek() const {
return value_;
}
diff --git a/googlemock/include/gmock/internal/gmock-internal-utils.h b/googlemock/include/gmock/internal/gmock-internal-utils.h
index 1770d5e7..53b6d976 100644
--- a/googlemock/include/gmock/internal/gmock-internal-utils.h
+++ b/googlemock/include/gmock/internal/gmock-internal-utils.h
@@ -336,10 +336,6 @@ GTEST_API_ WithoutMatchers GetWithoutMatchers();
// Type traits.
-// remove_reference<T>::type removes the reference from type T, if any.
-template <typename T> struct remove_reference { typedef T type; }; // NOLINT
-template <typename T> struct remove_reference<T&> { typedef T type; }; // NOLINT
-
// Disable MSVC warnings for infinite recursion, since in this case the
// the recursion is unreachable.
#ifdef _MSC_VER