Lines Matching refs:PassOwnArrayPtr
36 template<typename T> class PassOwnArrayPtr;
37 template<typename T> PassOwnArrayPtr<T> adoptArrayPtr(T*);
40 template<typename T> class PassOwnArrayPtr {
44 PassOwnArrayPtr() : m_ptr(0) { }
47 PassOwnArrayPtr(std::nullptr_t) : m_ptr(0) { }
51 // a const PassOwnArrayPtr. However, it makes it much easier to work with PassOwnArrayPtr
53 PassOwnArrayPtr(const PassOwnArrayPtr& o) : m_ptr(o.leakPtr()) { }
54 template<typename U> PassOwnArrayPtr(const PassOwnArrayPtr<U>& o) : m_ptr(o.leakPtr()) { }
56 ~PassOwnArrayPtr() { deleteOwnedArrayPtr(m_ptr); }
72 typedef PtrType PassOwnArrayPtr::*UnspecifiedBoolType;
73 operator UnspecifiedBoolType() const { return m_ptr ? &PassOwnArrayPtr::m_ptr : 0; }
76 PassOwnArrayPtr& operator=(const PassOwnArrayPtr<T>&);
78 PassOwnArrayPtr& operator=(std::nullptr_t) { clear(); return *this; }
80 template<typename U> PassOwnArrayPtr& operator=(const PassOwnArrayPtr<U>&);
82 template<typename U> friend PassOwnArrayPtr<U> adoptArrayPtr(U*);
85 PassOwnArrayPtr(PtrType ptr) : m_ptr(ptr) { }
86 PassOwnArrayPtr& operator=(PtrType);
91 explicit PassOwnArrayPtr(PtrType ptr) : m_ptr(ptr) { }
97 template<typename T> inline void PassOwnArrayPtr<T>::clear()
104 template<typename T> inline typename PassOwnArrayPtr<T>::PtrType PassOwnArrayPtr<T>::leakPtr() const
112 template<typename T> inline PassOwnArrayPtr<T>& PassOwnArrayPtr<T>::operator=(PtrType optr)
123 template<typename T> inline PassOwnArrayPtr<T>& PassOwnArrayPtr<T>::operator=(const PassOwnArrayPtr<T>& optr)
133 template<typename T> template<typename U> inline PassOwnArrayPtr<T>& PassOwnArrayPtr<T>::operator=(const PassOwnArrayPtr<U>& optr)
143 template<typename T, typename U> inline bool operator==(const PassOwnArrayPtr<T>& a, const PassOwnArrayPtr<U>& b)
148 template<typename T, typename U> inline bool operator==(const PassOwnArrayPtr<T>& a, const OwnArrayPtr<U>& b)
153 template<typename T, typename U> inline bool operator==(const OwnArrayPtr<T>& a, const PassOwnArrayPtr<U>& b)
158 template<typename T, typename U> inline bool operator==(const PassOwnArrayPtr<T>& a, U* b)
163 template<typename T, typename U> inline bool operator==(T* a, const PassOwnArrayPtr<U>& b)
168 template<typename T, typename U> inline bool operator!=(const PassOwnArrayPtr<T>& a, const PassOwnArrayPtr<U>& b)
173 template<typename T, typename U> inline bool operator!=(const PassOwnArrayPtr<T>& a, const OwnArrayPtr<U>& b)
178 template<typename T, typename U> inline bool operator!=(const OwnArrayPtr<T>& a, const PassOwnArrayPtr<U>& b)
183 template<typename T, typename U> inline bool operator!=(const PassOwnArrayPtr<T>& a, U* b)
188 template<typename T, typename U> inline bool operator!=(T* a, const PassOwnArrayPtr<U>& b)
193 template<typename T> inline PassOwnArrayPtr<T> adoptArrayPtr(T* ptr)
195 return PassOwnArrayPtr<T>(ptr);
205 template<typename T, typename U> inline PassOwnArrayPtr<T> static_pointer_cast(const PassOwnArrayPtr<U>& p)
210 template<typename T, typename U> inline PassOwnArrayPtr<T> const_pointer_cast(const PassOwnArrayPtr<U>& p)
215 template<typename T> inline T* getPtr(const PassOwnArrayPtr<T>& p)
222 using WTF::PassOwnArrayPtr;