QtDBus: make all Q_DECLARE_SHARED types nothrow move-assignable

Change-Id: I5b04fb44b632a0bbb290199fc092b3ffd8289650
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
bb10
Marc Mutz 2015-06-25 18:41:14 +02:00
parent f815676b7d
commit bc1804fa72
2 changed files with 8 additions and 7 deletions

View File

@ -56,9 +56,12 @@ class Q_DBUS_EXPORT QDBusPendingCall
public:
QDBusPendingCall(const QDBusPendingCall &other);
~QDBusPendingCall();
#ifdef Q_COMPILER_RVALUE_REFS
QDBusPendingCall &operator=(QDBusPendingCall &&other) Q_DECL_NOTHROW { swap(other); return *this; }
#endif
QDBusPendingCall &operator=(const QDBusPendingCall &other);
void swap(QDBusPendingCall &other) { qSwap(d, other.d); }
void swap(QDBusPendingCall &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
#ifndef Q_QDOC
// pretend that they aren't here

View File

@ -55,10 +55,13 @@ public:
QDBusUnixFileDescriptor();
explicit QDBusUnixFileDescriptor(int fileDescriptor);
QDBusUnixFileDescriptor(const QDBusUnixFileDescriptor &other);
#if defined(Q_COMPILER_RVALUE_REFS)
QDBusUnixFileDescriptor &operator=(QDBusUnixFileDescriptor &&other) Q_DECL_NOTHROW { swap(other); return *this; }
#endif
QDBusUnixFileDescriptor &operator=(const QDBusUnixFileDescriptor &other);
~QDBusUnixFileDescriptor();
void swap(QDBusUnixFileDescriptor &other)
void swap(QDBusUnixFileDescriptor &other) Q_DECL_NOTHROW
{ qSwap(d, other.d); }
bool isValid() const;
@ -71,11 +74,6 @@ public:
static bool isSupported();
#if defined(Q_COMPILER_RVALUE_REFS)
inline QDBusUnixFileDescriptor &operator=(QDBusUnixFileDescriptor &&other)
{ d.swap(other.d); return *this; }
#endif
protected:
typedef QExplicitlySharedDataPointer<QDBusUnixFileDescriptorPrivate> Data;
Data d;