summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qtextcursor.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2015-06-25 18:41:14 +0200
committerMarc Mutz <marc.mutz@kdab.com>2015-06-30 16:34:26 +0000
commit6aaac9a3b19115272faeff2a7a2275c2538fc197 (patch)
tree28b31313c745d98f49e8b81bad2a4d3df7562243 /src/gui/text/qtextcursor.h
parent65343eb28369823fd0c86384b488c3b7440d908a (diff)
QtGui: make all Q_DECLARE_SHARED types nothrow move-assignable
Excepting QBitmap and the QTextFormat heirarchy, which don't have 100% value semantics (still pondering them). In QPolygon(F), adding the move assignment operator disables the implicitly-defined copy assignment operator, which therefore have to be made user-defined. That doesn't change the ABI of the class, since the base class QVector already had a user-defined copy assignment operator. Change-Id: I0b111c1d21cf47f559ada6357c982e3dc26aca68 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/gui/text/qtextcursor.h')
-rw-r--r--src/gui/text/qtextcursor.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/text/qtextcursor.h b/src/gui/text/qtextcursor.h
index f04055603c..350f38cd02 100644
--- a/src/gui/text/qtextcursor.h
+++ b/src/gui/text/qtextcursor.h
@@ -66,10 +66,13 @@ public:
explicit QTextCursor(const QTextBlock &block);
explicit QTextCursor(QTextCursorPrivate *d);
QTextCursor(const QTextCursor &cursor);
+#ifdef Q_COMPILER_RVALUE_REFS
+ QTextCursor &operator=(QTextCursor &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
QTextCursor &operator=(const QTextCursor &other);
~QTextCursor();
- void swap(QTextCursor &other) { qSwap(d, other.d); }
+ void swap(QTextCursor &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
bool isNull() const;