diff options
Diffstat (limited to 'googletest/include/gtest/internal/gtest-internal.h')
-rw-r--r-- | googletest/include/gtest/internal/gtest-internal.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/googletest/include/gtest/internal/gtest-internal.h b/googletest/include/gtest/internal/gtest-internal.h index fabc8042..c62183a0 100644 --- a/googletest/include/gtest/internal/gtest-internal.h +++ b/googletest/include/gtest/internal/gtest-internal.h @@ -94,6 +94,12 @@ namespace proto2 { class MessageLite; } +namespace google { +namespace protobuf { +class MessageLite; +} +} + namespace testing { // Forward declarations. @@ -881,10 +887,15 @@ class GTEST_API_ Random { typename std::remove_const<typename std::remove_reference<T>::type>::type // IsAProtocolMessage<T>::value is a compile-time bool constant that's -// true if and only if T is type proto2::MessageLite or a subclass of it. +// true if and only if T is type proto2::MessageLite or +// google::protobuf::MessageLite or a subclass of one of them. template <typename T> struct IsAProtocolMessage - : public std::is_convertible<const T*, const ::proto2::MessageLite*> {}; + : public std::integral_constant< + bool, + std::is_convertible<const T*, const ::proto2::MessageLite*>::value || + std::is_convertible< + const T*, const ::google::protobuf::MessageLite*>::value> {}; // When the compiler sees expression IsContainerTest<C>(0), if C is an // STL-style container class, the first overload of IsContainerTest |