diff options
author | Xiaoyi Zhang <zhangxy@google.com> | 2019-08-23 20:38:46 (GMT) |
---|---|---|
committer | Xiaoyi Zhang <zhangxy@google.com> | 2019-08-23 20:38:47 (GMT) |
commit | 9bf34ace71942f3cd13913e7bafa1cfe1c3962c0 (patch) | |
tree | 18d77a640edc4376a4c8c26bf3d2d1abdef52aad | |
parent | fb49e6c164490a227bbb7cf5223b846c836a0305 (diff) | |
parent | 11471da7938bb414a5739e292ccc71f18966068f (diff) | |
download | googletest-9bf34ace71942f3cd13913e7bafa1cfe1c3962c0.zip googletest-9bf34ace71942f3cd13913e7bafa1cfe1c3962c0.tar.gz googletest-9bf34ace71942f3cd13913e7bafa1cfe1c3962c0.tar.bz2 |
Merge pull request #2400 from kuzkry:custom-type-traits-enable_if
PiperOrigin-RevId: 264693952
-rw-r--r-- | googletest/include/gtest/gtest-matchers.h | 4 | ||||
-rw-r--r-- | googletest/include/gtest/gtest.h | 2 | ||||
-rw-r--r-- | googletest/include/gtest/internal/gtest-internal.h | 7 |
3 files changed, 3 insertions, 10 deletions
diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h index 0548806..c10d650 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 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 c3cb744..3313445 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 |