diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-06-26 15:17:50 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-07-16 13:21:30 +0000 |
commit | 2c41d6f7a15f53804c60f388db6caff9fccf90e6 (patch) | |
tree | c63e8d1d8acf4a0c324141eb7afce7d0310b6d60 /src | |
parent | 6e42a1ad4ee7a259a87a7c8f386d256c104a27df (diff) |
QPolygon(F): add some move ctors
Change-Id: Ib0eb071e371a7198db26d4279bb901e49b3da2fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/painting/qpolygon.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/painting/qpolygon.h b/src/gui/painting/qpolygon.h index 3890715f32..1e503c03b7 100644 --- a/src/gui/painting/qpolygon.h +++ b/src/gui/painting/qpolygon.h @@ -52,11 +52,15 @@ public: inline QPolygon() {} inline ~QPolygon() {} inline explicit QPolygon(int size); - inline QPolygon(const QPolygon &a) : QVector<QPoint>(a) {} inline /*implicit*/ QPolygon(const QVector<QPoint> &v) : QVector<QPoint>(v) {} +#ifdef Q_COMPILER_RVALUE_REFS + /*implicit*/ QPolygon(QVector<QPoint> &&v) Q_DECL_NOTHROW : QVector<QPoint>(std::move(v)) {} +#endif QPolygon(const QRect &r, bool closed=false); QPolygon(int nPoints, const int *points); + QPolygon(const QPolygon &other) : QVector<QPoint>(other) {} #ifdef Q_COMPILER_RVALUE_REFS + QPolygon(QPolygon &&other) Q_DECL_NOTHROW : QVector<QPoint>(std::move(other)) {} QPolygon &operator=(QPolygon &&other) Q_DECL_NOTHROW { swap(other); return *this; } #endif QPolygon &operator=(const QPolygon &other) { QVector<QPoint>::operator=(other); return *this; } @@ -130,11 +134,15 @@ public: inline QPolygonF() {} inline ~QPolygonF() {} inline explicit QPolygonF(int size); - inline QPolygonF(const QPolygonF &a) : QVector<QPointF>(a) {} inline /*implicit*/ QPolygonF(const QVector<QPointF> &v) : QVector<QPointF>(v) {} +#ifdef Q_COMPILER_RVALUE_REFS + /* implicit */ QPolygonF(QVector<QPointF> &&v) Q_DECL_NOTHROW : QVector<QPointF>(std::move(v)) {} +#endif QPolygonF(const QRectF &r); /*implicit*/ QPolygonF(const QPolygon &a); + inline QPolygonF(const QPolygonF &a) : QVector<QPointF>(a) {} #ifdef Q_COMPILER_RVALUE_REFS + QPolygonF(QPolygonF &&other) Q_DECL_NOTHROW : QVector<QPointF>(std::move(other)) {} QPolygonF &operator=(QPolygonF &&other) Q_DECL_NOTHROW { swap(other); return *this; } #endif QPolygonF &operator=(const QPolygonF &other) { QVector<QPointF>::operator=(other); return *this; } |