From 648161bb0edfc3d43db63caed5cc5213bc6cb78f Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 18:28:41 -0800 Subject: auto import from //depot/cupcake/@135843 --- WebCore/dom/DocPtr.h | 114 --------------------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 WebCore/dom/DocPtr.h (limited to 'WebCore/dom/DocPtr.h') diff --git a/WebCore/dom/DocPtr.h b/WebCore/dom/DocPtr.h deleted file mode 100644 index 8b50e8d..0000000 --- a/WebCore/dom/DocPtr.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * This file is part of the DOM implementation for KDE. - * Copyright (C) 2005, 2006 Apple Computer, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef DocPtr_h -#define DocPtr_h - -namespace WebCore { - -template class DocPtr { -public: - DocPtr() : m_ptr(0) {} - DocPtr(T *ptr) : m_ptr(ptr) { if (ptr) ptr->selfOnlyRef(); } - DocPtr(const DocPtr &o) : m_ptr(o.m_ptr) { if (T *ptr = m_ptr) ptr->selfOnlyRef(); } - ~DocPtr() { if (T *ptr = m_ptr) ptr->selfOnlyDeref(); } - - template DocPtr(const DocPtr &o) : m_ptr(o.get()) { if (T *ptr = m_ptr) ptr->selfOnlyRef(); } - - void resetSkippingRef(T *o) { m_ptr = o; } - - T *get() const { return m_ptr; } - - T &operator*() const { return *m_ptr; } - T *operator->() const { return m_ptr; } - - bool operator!() const { return !m_ptr; } - - // this type conversion operator allows implicit conversion to - // bool but not to other integer types - - typedef T * (DocPtr::*UnspecifiedBoolType)() const; - operator UnspecifiedBoolType() const - { - return m_ptr ? &DocPtr::get : 0; - } - - DocPtr &operator=(const DocPtr &); - DocPtr &operator=(T *); - - private: - T *m_ptr; -}; - -template DocPtr &DocPtr::operator=(const DocPtr &o) -{ - T *optr = o.m_ptr; - if (optr) - optr->selfOnlyRef(); - if (T *ptr = m_ptr) - ptr->selfOnlyDeref(); - m_ptr = optr; - return *this; -} - -template inline DocPtr &DocPtr::operator=(T *optr) -{ - if (optr) - optr->selfOnlyRef(); - if (T *ptr = m_ptr) - ptr->selfOnlyDeref(); - m_ptr = optr; - return *this; -} - -template inline bool operator==(const DocPtr &a, const DocPtr &b) -{ - return a.get() == b.get(); -} - -template inline bool operator==(const DocPtr &a, const T *b) -{ - return a.get() == b; -} - -template inline bool operator==(const T *a, const DocPtr &b) -{ - return a == b.get(); -} - -template inline bool operator!=(const DocPtr &a, const DocPtr &b) -{ - return a.get() != b.get(); -} - -template inline bool operator!=(const DocPtr &a, const T *b) -{ - return a.get() != b; -} - -template inline bool operator!=(const T *a, const DocPtr &b) -{ - return a != b.get(); -} - -} // namespace WebCore - -#endif // DocPtr_h -- cgit v1.1