remove custom implementations of std::is_same
This commit is contained in:
		@@ -67,6 +67,7 @@
 | 
			
		||||
#include <set>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
#include <utility>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include "gmock/gmock-actions.h"
 | 
			
		||||
@@ -1653,9 +1654,8 @@ class FunctionMocker<R(Args...)> final : public UntypedFunctionMockerBase {
 | 
			
		||||
    const OnCallSpec<F>* const spec = FindOnCallSpec(args);
 | 
			
		||||
 | 
			
		||||
    if (spec == nullptr) {
 | 
			
		||||
      *os << (internal::type_equals<Result, void>::value ?
 | 
			
		||||
              "returning directly.\n" :
 | 
			
		||||
              "returning default value.\n");
 | 
			
		||||
      *os << (std::is_void<Result>::value ? "returning directly.\n"
 | 
			
		||||
                                          : "returning default value.\n");
 | 
			
		||||
    } else {
 | 
			
		||||
      *os << "taking default action specified at:\n"
 | 
			
		||||
          << FormatFileLocation(spec->file(), spec->line()) << "\n";
 | 
			
		||||
 
 | 
			
		||||
@@ -359,10 +359,6 @@ GTEST_API_ WithoutMatchers GetWithoutMatchers();
 | 
			
		||||
template <typename T> struct is_reference : public false_type {};
 | 
			
		||||
template <typename T> struct is_reference<T&> : public true_type {};
 | 
			
		||||
 | 
			
		||||
// type_equals<T1, T2>::value is non-zero if T1 and T2 are the same type.
 | 
			
		||||
template <typename T1, typename T2> struct type_equals : public false_type {};
 | 
			
		||||
template <typename T> struct type_equals<T, T> : public true_type {};
 | 
			
		||||
 | 
			
		||||
// 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
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,7 @@
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include "gmock/gmock.h"
 | 
			
		||||
#include "gmock/internal/gmock-port.h"
 | 
			
		||||
@@ -518,19 +519,12 @@ TEST(TypeTraitsTest, is_reference) {
 | 
			
		||||
  EXPECT_TRUE(is_reference<const int&>::value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(TypeTraitsTest, type_equals) {
 | 
			
		||||
  EXPECT_FALSE((type_equals<int, const int>::value));
 | 
			
		||||
  EXPECT_FALSE((type_equals<int, int&>::value));
 | 
			
		||||
  EXPECT_FALSE((type_equals<int, double>::value));
 | 
			
		||||
  EXPECT_TRUE((type_equals<char, char>::value));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(TypeTraitsTest, remove_reference) {
 | 
			
		||||
  EXPECT_TRUE((type_equals<char, remove_reference<char&>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((type_equals<const int,
 | 
			
		||||
               remove_reference<const int&>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((type_equals<int, remove_reference<int>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((type_equals<double*, remove_reference<double*>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((std::is_same<char, remove_reference<char&>::type>::value));
 | 
			
		||||
  EXPECT_TRUE(
 | 
			
		||||
      (std::is_same<const int, remove_reference<const int&>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((std::is_same<int, remove_reference<int>::type>::value));
 | 
			
		||||
  EXPECT_TRUE((std::is_same<double*, remove_reference<double*>::type>::value));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STREAM_REDIRECTION
 | 
			
		||||
 
 | 
			
		||||
@@ -6434,7 +6434,7 @@ class SampleVariantIntString {
 | 
			
		||||
 | 
			
		||||
  template <typename T>
 | 
			
		||||
  friend bool holds_alternative(const SampleVariantIntString& value) {
 | 
			
		||||
    return value.has_int_ == internal::IsSame<T, int>::value;
 | 
			
		||||
    return value.has_int_ == std::is_same<T, int>::value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  template <typename T>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user