summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaoyi Zhang <zhangxy@google.com>2019-08-23 16:38:46 -0400
committerXiaoyi Zhang <zhangxy@google.com>2019-08-23 16:38:47 -0400
commit9bf34ace71942f3cd13913e7bafa1cfe1c3962c0 (patch)
tree18d77a640edc4376a4c8c26bf3d2d1abdef52aad
parentfb49e6c164490a227bbb7cf5223b846c836a0305 (diff)
parent11471da7938bb414a5739e292ccc71f18966068f (diff)
downloadgoogletest-git-9bf34ace71942f3cd13913e7bafa1cfe1c3962c0.tar.gz
Merge pull request #2400 from kuzkry:custom-type-traits-enable_if
PiperOrigin-RevId: 264693952
-rw-r--r--googletest/include/gtest/gtest-matchers.h4
-rw-r--r--googletest/include/gtest/gtest.h2
-rw-r--r--googletest/include/gtest/internal/gtest-internal.h7
3 files changed, 3 insertions, 10 deletions
diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h
index 05488065..c10d650b 100644
--- a/googletest/include/gtest/gtest-matchers.h
+++ b/googletest/include/gtest/gtest-matchers.h
@@ -300,7 +300,7 @@ class MatcherBase {
template <typename U>
explicit MatcherBase(
const MatcherInterface<U>* impl,
- typename internal::EnableIf<!std::is_same<U, const U&>::value>::type* =
+ typename std::enable_if<!std::is_same<U, const U&>::value>::type* =
nullptr)
: impl_(new internal::MatcherInterfaceAdapter<U>(impl)) {}
@@ -336,7 +336,7 @@ class Matcher : public internal::MatcherBase<T> {
template <typename U>
explicit Matcher(
const MatcherInterface<U>* impl,
- typename internal::EnableIf<!std::is_same<U, const U&>::value>::type* =
+ typename std::enable_if<!std::is_same<U, const U&>::value>::type* =
nullptr)
: internal::MatcherBase<T>(impl) {}
diff --git a/googletest/include/gtest/gtest.h b/googletest/include/gtest/gtest.h
index db81359d..dfe7c786 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 c3cb744e..33134455 100644
--- a/googletest/include/gtest/internal/gtest-internal.h
+++ b/googletest/include/gtest/internal/gtest-internal.h
@@ -970,13 +970,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