From 2de01c83885e7a19696e052d96abd71451725100 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 15 Jun 2015 15:08:00 +0200 Subject: Move-enable QPixmapCache::Key The default constructor already sets the d-pointer to nullptr, so the move constructor does not introduce a new state. Change-Id: Icd47952bdf76d2106992d6babea40d68f18d067e Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/gui/image/qpixmapcache.cpp | 18 ++++++++++++++++++ src/gui/image/qpixmapcache.h | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp index 472aa469c3..0fefa1f7ea 100644 --- a/src/gui/image/qpixmapcache.cpp +++ b/src/gui/image/qpixmapcache.cpp @@ -137,6 +137,24 @@ bool QPixmapCache::Key::operator ==(const Key &key) const \internal */ +/*! + \fn QPixmapCache::Key::Key(Key &&) + \internal + \since 5.6 +*/ + +/*! + \fn QPixmapCache::Key &QPixmapCache::Key::operator=(Key &&) + \internal + \since 5.6 +*/ + +/*! + \fn void QPixmapCache::Key::swap(Key &) + \internal + \since 5.6 +*/ + /*! \internal */ diff --git a/src/gui/image/qpixmapcache.h b/src/gui/image/qpixmapcache.h index fd57407c04..03311345a2 100644 --- a/src/gui/image/qpixmapcache.h +++ b/src/gui/image/qpixmapcache.h @@ -48,12 +48,18 @@ public: public: Key(); Key(const Key &other); +#ifdef Q_COMPILER_RVALUE_REFS + Key(Key &&other) Q_DECL_NOTHROW : d(other.d) { other.d = Q_NULLPTR; } + Key &operator =(Key &&other) Q_DECL_NOTHROW { swap(other); return *this; } +#endif ~Key(); bool operator ==(const Key &key) const; inline bool operator !=(const Key &key) const { return !operator==(key); } Key &operator =(const Key &other); + void swap(Key &other) Q_DECL_NOTHROW { qSwap(d, other.d); } + private: KeyData *d; friend class QPMCache; -- cgit v1.2.3