diff options
Diffstat (limited to 'Source/JavaScriptCore/wtf/PassOwnArrayPtr.h')
-rw-r--r-- | Source/JavaScriptCore/wtf/PassOwnArrayPtr.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/JavaScriptCore/wtf/PassOwnArrayPtr.h b/Source/JavaScriptCore/wtf/PassOwnArrayPtr.h index 499e850..e1aa61e 100644 --- a/Source/JavaScriptCore/wtf/PassOwnArrayPtr.h +++ b/Source/JavaScriptCore/wtf/PassOwnArrayPtr.h @@ -28,7 +28,6 @@ #include "Assertions.h" #include "NullPtr.h" -#include "OwnArrayPtrCommon.h" #include "TypeTraits.h" // Remove this once we make all WebKit code compatible with stricter rules about PassOwnArrayPtr. @@ -39,6 +38,7 @@ namespace WTF { template<typename T> class OwnArrayPtr; template<typename T> class PassOwnArrayPtr; template<typename T> PassOwnArrayPtr<T> adoptArrayPtr(T*); +template<typename T> void deleteOwnedArrayPtr(T* ptr); template<typename T> class PassOwnArrayPtr { public: @@ -194,6 +194,13 @@ template<typename T> inline PassOwnArrayPtr<T> adoptArrayPtr(T* ptr) return PassOwnArrayPtr<T>(ptr); } +template<typename T> inline void deleteOwnedArrayPtr(T* ptr) +{ + typedef char known[sizeof(T) ? 1 : -1]; + if (sizeof(known)) + delete [] ptr; +} + template<typename T, typename U> inline PassOwnArrayPtr<T> static_pointer_cast(const PassOwnArrayPtr<U>& p) { return adoptArrayPtr(static_cast<T*>(p.leakPtr())); |