Changeset 48825 in webkit for trunk/JavaScriptCore/wtf/RefPtr.h
- Timestamp:
- Sep 28, 2009, 1:09:40 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/RefPtr.h
r45072 r48825 49 49 bool isHashTableDeletedValue() const { return m_ptr == hashTableDeletedValue(); } 50 50 51 ~RefPtr() { if (T* ptr = m_ptr) ptr->deref(); }51 ~RefPtr() { derefIfNotNull(m_ptr); } 52 52 53 53 template <typename U> RefPtr(const RefPtr<U>& o) : m_ptr(o.get()) { if (T* ptr = m_ptr) ptr->ref(); } … … 55 55 T* get() const { return m_ptr; } 56 56 57 void clear() { if (T* ptr = m_ptr) ptr->deref(); m_ptr = 0; }57 void clear() { derefIfNotNull(m_ptr); m_ptr = 0; } 58 58 PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); m_ptr = 0; return tmp; } 59 59 … … 64 64 65 65 // This conversion operator allows implicit conversion to bool but not to other integer types. 66 #if COMPILER(WINSCW) 67 operator bool() const { return m_ptr; } 68 #else 69 typedef T* RefPtr::*UnspecifiedBoolType; 66 typedef T* (RefPtr::*UnspecifiedBoolType); 70 67 operator UnspecifiedBoolType() const { return m_ptr ? &RefPtr::m_ptr : 0; } 71 #endif72 68 73 69 RefPtr& operator=(const RefPtr&);
Note:
See TracChangeset
for help on using the changeset viewer.