From bb72dc217d945b4b86054ef334ba229d94ec0ad3 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Sun, 12 May 2019 12:10:57 +0200 Subject: QPointer: fix swap() Make it noexcept and add an overload as a free function. [ChangeLog][QtCore][QPointer] Added a free swap function. Change-Id: I50744b9bae6a52db71b2da39e310619b3a0d6510 Reviewed-by: Marc Mutz --- src/corelib/kernel/qpointer.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/corelib/kernel/qpointer.h') diff --git a/src/corelib/kernel/qpointer.h b/src/corelib/kernel/qpointer.h index b2b3cda4ab..016658ee60 100644 --- a/src/corelib/kernel/qpointer.h +++ b/src/corelib/kernel/qpointer.h @@ -77,7 +77,7 @@ public: ~QPointer(); #endif - inline void swap(QPointer &other) { wp.swap(other.wp); } + inline void swap(QPointer &other) noexcept { wp.swap(other.wp); } inline QPointer &operator=(T* p) { wp.assign(static_cast(p)); return *this; } @@ -146,6 +146,10 @@ qPointerFromVariant(const QVariant &variant) return QPointer(qobject_cast(QtSharedPointer::weakPointerFromVariant_internal(variant).data())); } +template +inline void swap(QPointer &p1, QPointer &p2) noexcept +{ p1.swap(p2); } + QT_END_NAMESPACE #endif // QT_NO_QOBJECT -- cgit v1.2.3