QEasingCurve: implement move-assignment operator
Implemented as in QPen etc. Change-Id: I65b43c6ec7308ca4b44f614594c15c41ab2f89f9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
5d6b2d5e34
commit
6a6178702e
@ -83,6 +83,10 @@ public:
|
|||||||
~QEasingCurve();
|
~QEasingCurve();
|
||||||
|
|
||||||
QEasingCurve &operator=(const QEasingCurve &other);
|
QEasingCurve &operator=(const QEasingCurve &other);
|
||||||
|
#ifdef Q_COMPILER_RVALUE_REFS
|
||||||
|
QEasingCurve &operator=(QEasingCurve &&other)
|
||||||
|
{ qSwap(d_ptr, other.d_ptr); return *this; }
|
||||||
|
#endif
|
||||||
|
|
||||||
inline void swap(QEasingCurve &other) { qSwap(d_ptr, other.d_ptr); }
|
inline void swap(QEasingCurve &other) { qSwap(d_ptr, other.d_ptr); }
|
||||||
|
|
||||||
|
@ -43,6 +43,10 @@
|
|||||||
|
|
||||||
#include <qeasingcurve.h>
|
#include <qeasingcurve.h>
|
||||||
|
|
||||||
|
#ifdef Q_COMPILER_RVALUE_REFS // cpp11() slot
|
||||||
|
# include <utility> // for std::move()
|
||||||
|
#endif
|
||||||
|
|
||||||
class tst_QEasingCurve : public QObject
|
class tst_QEasingCurve : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -61,6 +65,7 @@ private slots:
|
|||||||
void tcbSpline();
|
void tcbSpline();
|
||||||
void testCbrtDouble();
|
void testCbrtDouble();
|
||||||
void testCbrtFloat();
|
void testCbrtFloat();
|
||||||
|
void cpp11();
|
||||||
};
|
};
|
||||||
|
|
||||||
void tst_QEasingCurve::type()
|
void tst_QEasingCurve::type()
|
||||||
@ -770,5 +775,19 @@ void tst_QEasingCurve::testCbrtFloat()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QEasingCurve::cpp11()
|
||||||
|
{
|
||||||
|
#ifdef Q_COMPILER_RVALUE_REFS
|
||||||
|
{
|
||||||
|
QEasingCurve ec( QEasingCurve::InOutBack );
|
||||||
|
QEasingCurve copy;
|
||||||
|
const QEasingCurve::Type type = copy.type();
|
||||||
|
copy = std::move(ec); // move assignment op
|
||||||
|
QCOMPARE( copy.type(), QEasingCurve::InOutBack );
|
||||||
|
QCOMPARE( ec.type(), type );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QEasingCurve)
|
QTEST_MAIN(tst_QEasingCurve)
|
||||||
#include "tst_qeasingcurve.moc"
|
#include "tst_qeasingcurve.moc"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user