Index: Source/wtf/VectorTraits.h |
diff --git a/Source/wtf/VectorTraits.h b/Source/wtf/VectorTraits.h |
index 2b6544ce35239b8d755ebc3a534c09f5d994d73e..4a6209e0805e65dbd9a4487e5881b137269fdbfa 100644 |
--- a/Source/wtf/VectorTraits.h |
+++ b/Source/wtf/VectorTraits.h |
@@ -24,6 +24,7 @@ |
#include "wtf/OwnPtr.h" |
#include "wtf/RefPtr.h" |
#include "wtf/TypeTraits.h" |
+#include <type_traits> |
#include <utility> |
using std::pair; |
@@ -35,12 +36,12 @@ namespace WTF { |
template<typename T> |
struct VectorTraitsBase |
{ |
- static const bool needsDestruction = !IsPod<T>::value; |
- static const bool canInitializeWithMemset = IsPod<T>::value; |
- static const bool canMoveWithMemcpy = IsPod<T>::value; |
- static const bool canCopyWithMemcpy = IsPod<T>::value; |
- static const bool canFillWithMemset = IsPod<T>::value && (sizeof(T) == sizeof(char)); |
- static const bool canCompareWithMemcmp = IsPod<T>::value; |
+ static const bool needsDestruction = !std::is_trivially_destructible<T>::value; |
+ static const bool canInitializeWithMemset = std::is_pod<T>::value; |
+ static const bool canMoveWithMemcpy = std::is_pod<T>::value; |
+ static const bool canCopyWithMemcpy = std::is_pod<T>::value; |
+ static const bool canFillWithMemset = std::is_pod<T>::value && (sizeof(T) == sizeof(char)); |
+ static const bool canCompareWithMemcmp = std::is_pod<T>::value; |
template<typename U = void> |
struct NeedsTracingLazily { |
static const bool value = NeedsTracing<T>::value; |