diff options
| author | Krystian Kuzniarek <krystian.kuzniarek@gmail.com> | 2019-08-13 22:30:12 +0200 | 
|---|---|---|
| committer | Krystian Kuzniarek <krystian.kuzniarek@gmail.com> | 2019-08-14 14:00:44 +0200 | 
| commit | ec49fbca4cb84651fb2eae5d093d0342f356cf29 (patch) | |
| tree | 24bdf499c55ba728098614c143232c8f5d863be0 | |
| parent | 90a443f9c2437ca8a682a1ac625eba64e1d74a8a (diff) | |
| download | googletest-ec49fbca4cb84651fb2eae5d093d0342f356cf29.tar.gz googletest-ec49fbca4cb84651fb2eae5d093d0342f356cf29.tar.bz2 googletest-ec49fbca4cb84651fb2eae5d093d0342f356cf29.zip | |
remove custom implementations of std::is_same
| -rw-r--r-- | googlemock/include/gmock/gmock-spec-builders.h | 6 | ||||
| -rw-r--r-- | googlemock/include/gmock/internal/gmock-internal-utils.h | 4 | ||||
| -rw-r--r-- | googlemock/test/gmock-internal-utils_test.cc | 18 | ||||
| -rw-r--r-- | googlemock/test/gmock-matchers_test.cc | 2 | ||||
| -rw-r--r-- | googletest/include/gtest/gtest-matchers.h | 12 | ||||
| -rw-r--r-- | googletest/include/gtest/internal/gtest-internal.h | 6 | ||||
| -rw-r--r-- | googletest/include/gtest/internal/gtest-port.h | 16 | ||||
| -rw-r--r-- | googletest/test/googletest-output-test_.cc | 8 | ||||
| -rw-r--r-- | googletest/test/gtest-typed-test_test.cc | 17 | 
9 files changed, 33 insertions, 56 deletions
| diff --git a/googlemock/include/gmock/gmock-spec-builders.h b/googlemock/include/gmock/gmock-spec-builders.h index 735a3bcb..0d1adda5 100644 --- a/googlemock/include/gmock/gmock-spec-builders.h +++ b/googlemock/include/gmock/gmock-spec-builders.h @@ -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"; diff --git a/googlemock/include/gmock/internal/gmock-internal-utils.h b/googlemock/include/gmock/internal/gmock-internal-utils.h index ee004790..7bfa54c0 100644 --- a/googlemock/include/gmock/internal/gmock-internal-utils.h +++ b/googlemock/include/gmock/internal/gmock-internal-utils.h @@ -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 diff --git a/googlemock/test/gmock-internal-utils_test.cc b/googlemock/test/gmock-internal-utils_test.cc index a76e777c..cee13e90 100644 --- a/googlemock/test/gmock-internal-utils_test.cc +++ b/googlemock/test/gmock-internal-utils_test.cc @@ -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 diff --git a/googlemock/test/gmock-matchers_test.cc b/googlemock/test/gmock-matchers_test.cc index 74e9294f..a61d040b 100644 --- a/googlemock/test/gmock-matchers_test.cc +++ b/googlemock/test/gmock-matchers_test.cc @@ -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> diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h index 7711178b..05488065 100644 --- a/googletest/include/gtest/gtest-matchers.h +++ b/googletest/include/gtest/gtest-matchers.h @@ -42,6 +42,7 @@  #include <memory>  #include <ostream>  #include <string> +#include <type_traits>  #include "gtest/gtest-printers.h"  #include "gtest/internal/gtest-internal.h" @@ -299,8 +300,8 @@ class MatcherBase {    template <typename U>    explicit MatcherBase(        const MatcherInterface<U>* impl, -      typename internal::EnableIf< -          !internal::IsSame<U, const U&>::value>::type* = nullptr) +      typename internal::EnableIf<!std::is_same<U, const U&>::value>::type* = +          nullptr)        : impl_(new internal::MatcherInterfaceAdapter<U>(impl)) {}    MatcherBase(const MatcherBase&) = default; @@ -333,9 +334,10 @@ class Matcher : public internal::MatcherBase<T> {        : internal::MatcherBase<T>(impl) {}    template <typename U> -  explicit Matcher(const MatcherInterface<U>* impl, -                   typename internal::EnableIf< -                       !internal::IsSame<U, const U&>::value>::type* = nullptr) +  explicit Matcher( +      const MatcherInterface<U>* impl, +      typename internal::EnableIf<!std::is_same<U, const U&>::value>::type* = +          nullptr)        : internal::MatcherBase<T>(impl) {}    // Implicit constructor here allows people to write diff --git a/googletest/include/gtest/internal/gtest-internal.h b/googletest/include/gtest/internal/gtest-internal.h index 08531d8c..240d791d 100644 --- a/googletest/include/gtest/internal/gtest-internal.h +++ b/googletest/include/gtest/internal/gtest-internal.h @@ -977,9 +977,9 @@ template <typename C>  struct IsRecursiveContainerImpl<C, true> {    using value_type = decltype(*std::declval<typename C::const_iterator>());    using type = -      is_same<typename std::remove_const< -                  typename std::remove_reference<value_type>::type>::type, -              C>; +      std::is_same<typename std::remove_const< +                       typename std::remove_reference<value_type>::type>::type, +                   C>;  };  // IsRecursiveContainer<Type> is a unary compile-time predicate that diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h index 4f887c5e..7f00fe72 100644 --- a/googletest/include/gtest/internal/gtest-port.h +++ b/googletest/include/gtest/internal/gtest-port.h @@ -869,16 +869,6 @@ struct StaticAssertTypeEqHelper<T, T> {    enum { value = true };  }; -// Same as std::is_same<>. -template <typename T, typename U> -struct IsSame { -  enum { value = false }; -}; -template <typename T> -struct IsSame<T, T> { -  enum { value = true }; -}; -  // Evaluates to the number of elements in 'array'.  #define GTEST_ARRAY_SIZE_(array) (sizeof(array) / sizeof(array[0])) @@ -1931,12 +1921,6 @@ template <bool bool_value> const bool bool_constant<bool_value>::value;  typedef bool_constant<false> false_type;  typedef bool_constant<true> true_type; -template <typename T, typename U> -struct is_same : public false_type {}; - -template <typename T> -struct is_same<T, T> : public true_type {}; -  template <typename Iterator>  struct IteratorTraits {    typedef typename Iterator::value_type value_type; diff --git a/googletest/test/googletest-output-test_.cc b/googletest/test/googletest-output-test_.cc index 83be568c..4f716d84 100644 --- a/googletest/test/googletest-output-test_.cc +++ b/googletest/test/googletest-output-test_.cc @@ -816,9 +816,9 @@ class TypedTestNames {   public:    template <typename T>    static std::string GetName(int i) { -    if (testing::internal::IsSame<T, char>::value) +    if (std::is_same<T, char>::value)        return std::string("char") + ::testing::PrintToString(i); -    if (testing::internal::IsSame<T, int>::value) +    if (std::is_same<T, int>::value)        return std::string("int") + ::testing::PrintToString(i);    }  }; @@ -857,10 +857,10 @@ class TypedTestPNames {   public:    template <typename T>    static std::string GetName(int i) { -    if (testing::internal::IsSame<T, unsigned char>::value) { +    if (std::is_same<T, unsigned char>::value) {        return std::string("unsignedChar") + ::testing::PrintToString(i);      } -    if (testing::internal::IsSame<T, unsigned int>::value) { +    if (std::is_same<T, unsigned int>::value) {        return std::string("unsignedInt") + ::testing::PrintToString(i);      }    } diff --git a/googletest/test/gtest-typed-test_test.cc b/googletest/test/gtest-typed-test_test.cc index f1ca9372..5411832a 100644 --- a/googletest/test/gtest-typed-test_test.cc +++ b/googletest/test/gtest-typed-test_test.cc @@ -31,6 +31,7 @@  #include "test/gtest-typed-test_test.h"  #include <set> +#include <type_traits>  #include <vector>  #include "gtest/gtest.h" @@ -177,10 +178,10 @@ class TypedTestNames {   public:    template <typename T>    static std::string GetName(int i) { -    if (testing::internal::IsSame<T, char>::value) { +    if (std::is_same<T, char>::value) {        return std::string("char") + ::testing::PrintToString(i);      } -    if (testing::internal::IsSame<T, int>::value) { +    if (std::is_same<T, int>::value) {        return std::string("int") + ::testing::PrintToString(i);      }    } @@ -189,13 +190,13 @@ class TypedTestNames {  TYPED_TEST_SUITE(TypedTestWithNames, TwoTypes, TypedTestNames);  TYPED_TEST(TypedTestWithNames, TestSuiteName) { -  if (testing::internal::IsSame<TypeParam, char>::value) { +  if (std::is_same<TypeParam, char>::value) {      EXPECT_STREQ(::testing::UnitTest::GetInstance()                       ->current_test_info()                       ->test_case_name(),                   "TypedTestWithNames/char0");    } -  if (testing::internal::IsSame<TypeParam, int>::value) { +  if (std::is_same<TypeParam, int>::value) {      EXPECT_STREQ(::testing::UnitTest::GetInstance()                       ->current_test_info()                       ->test_case_name(), @@ -311,13 +312,13 @@ class TypeParametrizedTestWithNames : public Test {};  TYPED_TEST_SUITE_P(TypeParametrizedTestWithNames);  TYPED_TEST_P(TypeParametrizedTestWithNames, TestSuiteName) { -  if (testing::internal::IsSame<TypeParam, char>::value) { +  if (std::is_same<TypeParam, char>::value) {      EXPECT_STREQ(::testing::UnitTest::GetInstance()                       ->current_test_info()                       ->test_case_name(),                   "CustomName/TypeParametrizedTestWithNames/parChar0");    } -  if (testing::internal::IsSame<TypeParam, int>::value) { +  if (std::is_same<TypeParam, int>::value) {      EXPECT_STREQ(::testing::UnitTest::GetInstance()                       ->current_test_info()                       ->test_case_name(), @@ -331,10 +332,10 @@ class TypeParametrizedTestNames {   public:    template <typename T>    static std::string GetName(int i) { -    if (testing::internal::IsSame<T, char>::value) { +    if (std::is_same<T, char>::value) {        return std::string("parChar") + ::testing::PrintToString(i);      } -    if (testing::internal::IsSame<T, int>::value) { +    if (std::is_same<T, int>::value) {        return std::string("parInt") + ::testing::PrintToString(i);      }    } | 
