Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1190)

Unified Diff: third_party/WebKit/Source/wtf/TypeTraits.cpp

Issue 1477213003: More switching to standard type traits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Excluded WTF::IsSubclass from the patch Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/wtf/TypeTraits.h ('k') | third_party/WebKit/Source/wtf/Vector.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/wtf/TypeTraits.cpp
diff --git a/third_party/WebKit/Source/wtf/TypeTraits.cpp b/third_party/WebKit/Source/wtf/TypeTraits.cpp
index ace24138312797f20a7c145adda52faeae5ce3a0..9b8c10352f5621e19698769b6940772598cf8b8a 100644
--- a/third_party/WebKit/Source/wtf/TypeTraits.cpp
+++ b/third_party/WebKit/Source/wtf/TypeTraits.cpp
@@ -21,9 +21,7 @@
#include "wtf/TypeTraits.h"
-#include "wtf/Assertions.h"
#include "wtf/Noncopyable.h"
-#include <type_traits>
namespace WTF {
@@ -87,37 +85,6 @@ static_assert(!IsTriviallyCopyAssignable<NonCopyableClass>::value, "NonCopyableC
static_assert(IsTriviallyDefaultConstructible<NonCopyableClass>::value, "NonCopyableClass should have a trivial default constructor");
#endif // 0
-enum IsConvertibleToIntegerCheck { };
-static_assert(IsConvertibleToInteger<IsConvertibleToIntegerCheck>::value, "enum should be convertible to integer");
-static_assert(IsConvertibleToInteger<bool>::value, "bool should be convertible to integer");
-static_assert(IsConvertibleToInteger<char>::value, "char should be convertible to integer");
-static_assert(IsConvertibleToInteger<signed char>::value, "signed char should be convertible to integer");
-static_assert(IsConvertibleToInteger<unsigned char>::value, "unsigned char should be convertible to integer");
-static_assert(IsConvertibleToInteger<short>::value, "short should be convertible to integer");
-static_assert(IsConvertibleToInteger<unsigned short>::value, "unsigned short should be convertible to integer");
-static_assert(IsConvertibleToInteger<int>::value, "int should be convertible to integer");
-static_assert(IsConvertibleToInteger<unsigned>::value, "unsigned int should be convertible to integer");
-static_assert(IsConvertibleToInteger<long>::value, "long should be convertible to integer");
-static_assert(IsConvertibleToInteger<unsigned long>::value, "unsigned long should be convertible to integer");
-static_assert(IsConvertibleToInteger<long long>::value, "long long should be convertible to integer");
-static_assert(IsConvertibleToInteger<unsigned long long>::value, "unsigned long long should be convertible to integer");
-#if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
-static_assert(IsConvertibleToInteger<wchar_t>::value, "whcar_t should be convertible to integer");
-#endif
-static_assert(IsConvertibleToInteger<double>::value, "double should be convertible to integer");
-static_assert(IsConvertibleToInteger<long double>::value, "long double should be convertible to integer");
-static_assert(IsConvertibleToInteger<float>::value, "float should be convertible to integer");
-static_assert(!IsConvertibleToInteger<char*>::value, "char* should not be convertible to integer");
-static_assert(!IsConvertibleToInteger<const char*>::value, "const char* should not be convertible to integer");
-static_assert(!IsConvertibleToInteger<volatile char*>::value, "volatile char* should not be convertible to integer");
-static_assert(!IsConvertibleToInteger<IsConvertibleToInteger<bool>>::value, "struct should not be convertible to integer");
-
-static_assert((IsSameType<bool, bool>::value), "bool should be the same type as itself");
-static_assert((IsSameType<int*, int*>::value), "int* should be the same type as itself");
-static_assert((!IsSameType<int, int*>::value), "int should not be the same type as int*");
-static_assert((!IsSameType<bool, const bool>::value), "T should not be the same type as const T");
-static_assert((!IsSameType<bool, volatile bool>::value), "T should not be the same type as volatile T");
-
template <typename T>
class TestBaseClass {
};
@@ -128,8 +95,6 @@ class TestDerivedClass : public TestBaseClass<int> {
static_assert((IsSubclass<TestDerivedClass, TestBaseClass<int>>::value), "Derived class should be a subclass of its base");
static_assert((!IsSubclass<TestBaseClass<int>, TestDerivedClass>::value), "Base class should not be a sublass of a derived class");
static_assert((IsSubclassOfTemplate<TestDerivedClass, TestBaseClass>::value), "Derived class should be a subclass of template from its base");
-static_assert((IsSameType<RemoveTemplate<TestBaseClass<int>, TestBaseClass>::Type, int>::value), "RemoveTemplate should remove the template typename from the type");
-static_assert((IsSameType<RemoveTemplate<int, TestBaseClass>::Type, int>::value), "RemoveTemplate should not alter non-template types");
typedef int IntArray[];
typedef int IntArraySized[4];
« no previous file with comments | « third_party/WebKit/Source/wtf/TypeTraits.h ('k') | third_party/WebKit/Source/wtf/Vector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698