diff options
-rw-r--r-- | src/corelib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/corelib/io/qsettings_p.h | 1 | ||||
-rw-r--r-- | src/corelib/tools/qscopedpointer_p.h | 148 | ||||
-rw-r--r-- | src/corelib/tools/tools.pri | 1 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp | 2 |
5 files changed, 1 insertions, 153 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 7a33dd430e..11b3c220c8 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -225,7 +225,7 @@ qt_internal_add_module(Core tools/qrect.cpp tools/qrect.h tools/qrefcount.cpp tools/qrefcount.h tools/qringbuffer.cpp tools/qringbuffer_p.h - tools/qscopedpointer.h tools/qscopedpointer_p.h + tools/qscopedpointer.h tools/qscopedvaluerollback.h tools/qscopeguard.h tools/qset.h diff --git a/src/corelib/io/qsettings_p.h b/src/corelib/io/qsettings_p.h index f26c121437..b70733e7b8 100644 --- a/src/corelib/io/qsettings_p.h +++ b/src/corelib/io/qsettings_p.h @@ -64,7 +64,6 @@ #ifndef QT_NO_QOBJECT #include "private/qobject_p.h" #endif -#include "private/qscopedpointer_p.h" QT_BEGIN_NAMESPACE diff --git a/src/corelib/tools/qscopedpointer_p.h b/src/corelib/tools/qscopedpointer_p.h deleted file mode 100644 index 233c2201dc..0000000000 --- a/src/corelib/tools/qscopedpointer_p.h +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of internal files. This header file may change from version to version -// without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/private/qglobal_p.h> - -#ifndef QSCOPEDPOINTER_P_H -#define QSCOPEDPOINTER_P_H - -#include "QtCore/qscopedpointer.h" - -QT_BEGIN_NAMESPACE - - -/* Internal helper class - exposes the data through data_ptr (legacy from QShared). - Required for some internal Qt classes, do not use otherwise. */ -template <typename T, typename Cleanup = QScopedPointerDeleter<T> > -class QCustomScopedPointer : public QScopedPointer<T, Cleanup> -{ -public: - explicit inline QCustomScopedPointer(T *p = nullptr) - : QScopedPointer<T, Cleanup>(p) - { - } - - inline T *&data_ptr() - { - return this->d; - } - - inline bool operator==(const QCustomScopedPointer<T, Cleanup> &other) const - { - return this->d == other.d; - } - - inline bool operator!=(const QCustomScopedPointer<T, Cleanup> &other) const - { - return this->d != other.d; - } - -private: - Q_DISABLE_COPY(QCustomScopedPointer) -}; - -/* Internal helper class - a handler for QShared* classes, to be used in QCustomScopedPointer */ -template <typename T> -class QScopedPointerSharedDeleter -{ -public: - static inline void cleanup(T *d) - { - if (d && !d->ref.deref()) - delete d; - } -}; - -/* Internal. - This class is basically a scoped pointer pointing to a ref-counted object - */ -template <typename T> -class QScopedSharedPointer : public QCustomScopedPointer<T, QScopedPointerSharedDeleter<T> > -{ -public: - explicit inline QScopedSharedPointer(T *p = nullptr) - : QCustomScopedPointer<T, QScopedPointerSharedDeleter<T> >(p) - { - } - - inline void detach() - { - qAtomicDetach(this->d); - } - - inline void assign(T *other) - { - if (this->d == other) - return; - if (other) - other->ref.ref(); - T *oldD = this->d; - this->d = other; - QScopedPointerSharedDeleter<T>::cleanup(oldD); - } - - inline bool operator==(const QScopedSharedPointer<T> &other) const - { - return this->d == other.d; - } - - inline bool operator!=(const QScopedSharedPointer<T> &other) const - { - return this->d != other.d; - } - -private: - Q_DISABLE_COPY(QScopedSharedPointer) -}; - - -QT_END_NAMESPACE - -#endif diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index e57fa6e8ed..9c94da0969 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -34,7 +34,6 @@ HEADERS += \ tools/qrefcount.h \ tools/qscopeguard.h \ tools/qscopedpointer.h \ - tools/qscopedpointer_p.h \ tools/qscopedvaluerollback.h \ tools/qshareddata.h \ tools/qshareddata_impl.h \ diff --git a/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp b/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp index 07a4f5fc96..59b8b1bbcb 100644 --- a/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp +++ b/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp @@ -412,8 +412,6 @@ void tst_QScopedPointer::comparison() QCOMPARE( RefCounted::instanceCount.loadRelaxed(), 0 ); { - // QScopedSharedPointer is an internal helper class -- it is unsupported! - RefCounted *a = new RefCounted; RefCounted *b = new RefCounted; |