From a0c4b6f34546bdd22167a76a0540d37e9a37c0cf Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Fri, 10 May 2019 20:53:47 +0200 Subject: QSharedPointer/QWeakPointer: fix swap() Do not specialize std::swap, just add swap in Qt's namespace. Also add swap() for QWeakPointer, and sprinkle noexcept. Change-Id: Ifb06c214f1865d42f3f2cddf5f980aede6bde185 Reviewed-by: Thiago Macieira --- src/corelib/tools/qsharedpointer_impl.h | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/corelib/tools') diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index c219d310dc..80543f1983 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -386,7 +386,7 @@ public: inline QSharedPointer &operator=(const QWeakPointer &other) { internalSet(other.d, other.value); return *this; } - inline void swap(QSharedPointer &other) + inline void swap(QSharedPointer &other) noexcept { this->internalSwap(other); } inline void reset() { clear(); } @@ -880,18 +880,12 @@ Q_INLINE_TEMPLATE QWeakPointer QSharedPointer::toWeakRef() const } template -inline void qSwap(QSharedPointer &p1, QSharedPointer &p2) -{ - p1.swap(p2); -} +inline void swap(QSharedPointer &p1, QSharedPointer &p2) noexcept +{ p1.swap(p2); } -QT_END_NAMESPACE -namespace std { - template - inline void swap(QT_PREPEND_NAMESPACE(QSharedPointer) &p1, QT_PREPEND_NAMESPACE(QSharedPointer) &p2) - { p1.swap(p2); } -} -QT_BEGIN_NAMESPACE +template +inline void swap(QWeakPointer &p1, QWeakPointer &p2) noexcept +{ p1.swap(p2); } namespace QtSharedPointer { // helper functions: -- cgit v1.2.3