diff options
-rw-r--r-- | src/corelib/tools/qscopedpointer.cpp | 10 | ||||
-rw-r--r-- | src/corelib/tools/qscopedpointer.h | 12 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp index 1dd77a22dc..2f9f6f0dd4 100644 --- a/src/corelib/tools/qscopedpointer.cpp +++ b/src/corelib/tools/qscopedpointer.cpp @@ -267,6 +267,10 @@ QT_BEGIN_NAMESPACE */ /*! \fn template <typename T, typename Cleanup> void QScopedPointer<T, Cleanup>::swap(QScopedPointer<T, Cleanup> &lhs, QScopedPointer<T, Cleanup> &rhs) + + \obsolete Use std::unique_ptr instead; this function may let a pointer + escape its scope. + Swaps \a lhs with \a rhs. */ @@ -333,7 +337,11 @@ QT_BEGIN_NAMESPACE */ /*! \fn template <typename T, typename Cleanup> void QScopedArrayPointer<T, Cleanup>::swap(QScopedArrayPointer<T, Cleanup> &other) - Swap this pointer with \a other. + + \obsolete Use std::unique_ptr instead; this function may let a pointer + escape its scope. + + Swap this pointer with \a other. */ QT_END_NAMESPACE diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h index a4c57aab8a..5c72e7415d 100644 --- a/src/corelib/tools/qscopedpointer.h +++ b/src/corelib/tools/qscopedpointer.h @@ -169,10 +169,13 @@ public: } #endif +#if QT_DEPRECATED_SINCE(6, 2) + QT_DEPRECATED_VERSION_X_6_2("Use std::unique_ptr instead of QScopedPointer.") void swap(QScopedPointer<T, Cleanup> &other) noexcept { qSwap(d, other.d); } +#endif typedef T *pointer; @@ -206,8 +209,11 @@ public: return !rhs.isNull(); } +#if QT_DEPRECATED_SINCE(6, 2) + QT_DEPRECATED_VERSION_X_6_2("Use std::unique_ptr instead of QScopedPointer.") friend void swap(QScopedPointer<T, Cleanup> &p1, QScopedPointer<T, Cleanup> &p2) noexcept { p1.swap(p2); } +#endif protected: T *d; @@ -240,8 +246,11 @@ public: return this->d[i]; } +#if QT_DEPRECATED_SINCE(6, 2) + QT_DEPRECATED_VERSION_X_6_2("Use std::unique_ptr instead of QScopedArrayPointer.") void swap(QScopedArrayPointer &other) noexcept // prevent QScopedPointer <->QScopedArrayPointer swaps { QScopedPointer<T, Cleanup>::swap(other); } +#endif private: explicit inline QScopedArrayPointer(void *) @@ -259,9 +268,12 @@ private: Q_DISABLE_COPY(QScopedArrayPointer) }; +#if QT_DEPRECATED_SINCE(6, 2) template <typename T, typename Cleanup> +QT_DEPRECATED_VERSION_X_6_2("Use std::unique_ptr instead of QScopedArrayPointer.") inline void swap(QScopedArrayPointer<T, Cleanup> &lhs, QScopedArrayPointer<T, Cleanup> &rhs) noexcept { lhs.swap(rhs); } +#endif QT_END_NAMESPACE |