diff options
author | Xiaoyi Zhang <zhangxy@google.com> | 2019-08-23 20:38:55 (GMT) |
---|---|---|
committer | Xiaoyi Zhang <zhangxy@google.com> | 2019-08-23 20:38:55 (GMT) |
commit | c6d884096ae5976fb7f082a8d6e0f3259d930c41 (patch) | |
tree | 61e0408d17f985c0fd323e97769b1bf664bf89ae | |
parent | 9bf34ace71942f3cd13913e7bafa1cfe1c3962c0 (diff) | |
parent | 2c2c9e33573de4e195d68d2f989cab244ebc8a12 (diff) | |
download | googletest-c6d884096ae5976fb7f082a8d6e0f3259d930c41.zip googletest-c6d884096ae5976fb7f082a8d6e0f3259d930c41.tar.gz googletest-c6d884096ae5976fb7f082a8d6e0f3259d930c41.tar.bz2 |
Merge pull request #2401 from kuzkry:custom-type-traits-add_lvalue_reference
PiperOrigin-RevId: 264842713
-rw-r--r-- | googletest/include/gtest/internal/gtest-port.h | 13 | ||||
-rw-r--r-- | googletest/test/gtest_unittest.cc | 25 |
2 files changed, 0 insertions, 38 deletions
diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h index 7f00fe7..eaa1970 100644 --- a/googletest/include/gtest/internal/gtest-port.h +++ b/googletest/include/gtest/internal/gtest-port.h @@ -1019,19 +1019,6 @@ inline void FlushInfoLog() { fflush(nullptr); } GTEST_LOG_(FATAL) << #posix_call << "failed with error " \ << gtest_error -// Adds reference to a type if it is not a reference type, -// otherwise leaves it unchanged. This is the same as -// tr1::add_reference, which is not widely available yet. -template <typename T> -struct AddReference { typedef T& type; }; // NOLINT -template <typename T> -struct AddReference<T&> { typedef T& type; }; // NOLINT - -// A handy wrapper around AddReference that works when the argument T -// depends on template parameters. -#define GTEST_ADD_REFERENCE_(T) \ - typename ::testing::internal::AddReference<T>::type - // Transforms "T" into "const T&" according to standard reference collapsing // rules (this is only needed as a backport for C++98 compilers that do not // support reference collapsing). Specifically, it transforms: diff --git a/googletest/test/gtest_unittest.cc b/googletest/test/gtest_unittest.cc index 0047f53..5020d73 100644 --- a/googletest/test/gtest_unittest.cc +++ b/googletest/test/gtest_unittest.cc @@ -227,7 +227,6 @@ using testing::TestProperty; using testing::TestResult; using testing::TimeInMillis; using testing::UnitTest; -using testing::internal::AddReference; using testing::internal::AlwaysFalse; using testing::internal::AlwaysTrue; using testing::internal::AppendUserMessage; @@ -7150,30 +7149,6 @@ TEST(RemoveReferenceToConstTest, Works) { TestGTestRemoveReferenceAndConst<const char*, const char*>(); } -// Tests that AddReference does not affect reference types. -TEST(AddReferenceTest, DoesNotAffectReferenceType) { - CompileAssertTypesEqual<int&, AddReference<int&>::type>(); - CompileAssertTypesEqual<const char&, AddReference<const char&>::type>(); -} - -// Tests that AddReference adds reference to non-reference types. -TEST(AddReferenceTest, AddsReference) { - CompileAssertTypesEqual<int&, AddReference<int>::type>(); - CompileAssertTypesEqual<const char&, AddReference<const char>::type>(); -} - -// Tests GTEST_ADD_REFERENCE_. - -template <typename T1, typename T2> -void TestGTestAddReference() { - CompileAssertTypesEqual<T1, GTEST_ADD_REFERENCE_(T2)>(); -} - -TEST(AddReferenceTest, MacroVersion) { - TestGTestAddReference<int&, int>(); - TestGTestAddReference<const char&, const char&>(); -} - // Tests GTEST_REFERENCE_TO_CONST_. template <typename T1, typename T2> |