diff options
author | Krystian Kuzniarek <krystian.kuzniarek@gmail.com> | 2019-08-13 21:35:11 (GMT) |
---|---|---|
committer | Krystian Kuzniarek <krystian.kuzniarek@gmail.com> | 2019-08-13 22:09:53 (GMT) |
commit | 11471da7938bb414a5739e292ccc71f18966068f (patch) | |
tree | f07b05fa7acac6b9de78d5b8af9c22d356ee05d2 | |
parent | 90a443f9c2437ca8a682a1ac625eba64e1d74a8a (diff) | |
download | googletest-11471da7938bb414a5739e292ccc71f18966068f.zip googletest-11471da7938bb414a5739e292ccc71f18966068f.tar.gz googletest-11471da7938bb414a5739e292ccc71f18966068f.tar.bz2 |
remove a custom implementation of std::enable_if
-rw-r--r-- | googletest/include/gtest/gtest-matchers.h | 12 | ||||
-rw-r--r-- | googletest/include/gtest/gtest.h | 2 | ||||
-rw-r--r-- | googletest/include/gtest/internal/gtest-internal.h | 7 |
3 files changed, 8 insertions, 13 deletions
diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h index 7711178..5eb0a4e 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 std::enable_if<!internal::IsSame<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 std::enable_if<!internal::IsSame<U, const U&>::value>::type* = + nullptr) : internal::MatcherBase<T>(impl) {} // Implicit constructor here allows people to write diff --git a/googletest/include/gtest/gtest.h b/googletest/include/gtest/gtest.h index db81359..dfe7c78 100644 --- a/googletest/include/gtest/gtest.h +++ b/googletest/include/gtest/gtest.h @@ -292,7 +292,7 @@ class GTEST_API_ AssertionResult { template <typename T> explicit AssertionResult( const T& success, - typename internal::EnableIf< + typename std::enable_if< !std::is_convertible<T, AssertionResult>::value>::type* /*enabler*/ = nullptr) diff --git a/googletest/include/gtest/internal/gtest-internal.h b/googletest/include/gtest/internal/gtest-internal.h index 08531d8..8b05062 100644 --- a/googletest/include/gtest/internal/gtest-internal.h +++ b/googletest/include/gtest/internal/gtest-internal.h @@ -991,13 +991,6 @@ struct IsRecursiveContainerImpl<C, true> { template <typename C> struct IsRecursiveContainer : public IsRecursiveContainerImpl<C>::type {}; -// EnableIf<condition>::type is void when 'Cond' is true, and -// undefined when 'Cond' is false. To use SFINAE to make a function -// overload only apply when a particular expression is true, add -// "typename EnableIf<expression>::type* = 0" as the last parameter. -template<bool> struct EnableIf; -template<> struct EnableIf<true> { typedef void type; }; // NOLINT - // Utilities for native arrays. // ArrayEq() compares two k-dimensional native arrays using the |