From 74bb3e43698194731a702acda9717a091ac0b30b Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Mon, 30 Dec 2019 13:00:57 +0200 Subject: [PATCH] Fix move sematic. (grafted from fb8691f522f3515d7c3014a0ea90b60b352a444e) --HG-- branch : develop --- src/libs/qmuparser/qmuparsercallback.cpp | 15 ++++++++++ src/libs/qmuparser/qmuparsercallback.h | 5 ++-- src/libs/vgeometry/vabstractarc.cpp | 16 ++++++++++ src/libs/vgeometry/vabstractarc.h | 5 ++-- src/libs/vgeometry/vabstractcurve.cpp | 16 ++++++++++ src/libs/vgeometry/vabstractcurve.h | 5 ++-- src/libs/vgeometry/varc.cpp | 17 +++++++++++ src/libs/vgeometry/varc.h | 5 ++-- src/libs/vgeometry/vcubicbezier.cpp | 16 ++++++++++ src/libs/vgeometry/vcubicbezier.h | 5 ++-- src/libs/vgeometry/vcubicbezierpath.cpp | 16 ++++++++++ src/libs/vgeometry/vcubicbezierpath.h | 5 ++-- src/libs/vgeometry/vellipticalarc.cpp | 16 ++++++++++ src/libs/vgeometry/vellipticalarc.h | 5 ++-- src/libs/vgeometry/vgobject.cpp | 16 ++++++++++ src/libs/vgeometry/vgobject.h | 5 ++-- src/libs/vgeometry/vplacelabelitem.cpp | 16 ++++++++++ src/libs/vgeometry/vplacelabelitem.h | 5 ++-- src/libs/vgeometry/vpointf.cpp | 16 ++++++++++ src/libs/vgeometry/vpointf.h | 5 ++-- src/libs/vgeometry/vspline.cpp | 16 ++++++++++ src/libs/vgeometry/vspline.h | 5 ++-- src/libs/vgeometry/vsplinepath.cpp | 16 ++++++++++ src/libs/vgeometry/vsplinepath.h | 5 ++-- src/libs/vgeometry/vsplinepoint.cpp | 29 +++++++++++++++++++ src/libs/vgeometry/vsplinepoint.h | 10 +++---- src/libs/vlayout/vabstractpiece.cpp | 15 ++++++++++ src/libs/vlayout/vabstractpiece.h | 5 ++-- src/libs/vlayout/vcontour.cpp | 15 ++++++++++ src/libs/vlayout/vcontour.h | 5 ++-- src/libs/vlayout/vlayoutpaper.cpp | 15 ++++++++++ src/libs/vlayout/vlayoutpaper.h | 5 ++-- src/libs/vlayout/vlayoutpiece.cpp | 16 ++++++++++ src/libs/vlayout/vlayoutpiece.h | 5 ++-- src/libs/vlayout/vlayoutpiecepath.cpp | 15 ++++++++++ src/libs/vlayout/vlayoutpiecepath.h | 5 ++-- .../floatItemData/vabstractfloatitemdata.cpp | 15 ++++++++++ .../floatItemData/vabstractfloatitemdata.h | 5 ++-- .../floatItemData/vgrainlinedata.cpp | 16 ++++++++++ .../vpatterndb/floatItemData/vgrainlinedata.h | 5 ++-- .../floatItemData/vpatternlabeldata.cpp | 16 ++++++++++ .../floatItemData/vpatternlabeldata.h | 5 ++-- .../floatItemData/vpiecelabeldata.cpp | 16 ++++++++++ .../floatItemData/vpiecelabeldata.h | 5 ++-- .../vpatterndb/variables/vcurvevariable.cpp | 16 ++++++++++ .../vpatterndb/variables/vcurvevariable.h | 5 ++-- src/libs/vpatterndb/variables/vincrement.cpp | 16 ++++++++++ src/libs/vpatterndb/variables/vincrement.h | 5 ++-- .../variables/vinternalvariable.cpp | 15 ++++++++++ .../vpatterndb/variables/vinternalvariable.h | 5 ++-- src/libs/vpatterndb/variables/vlineangle.cpp | 16 ++++++++++ src/libs/vpatterndb/variables/vlineangle.h | 5 ++-- src/libs/vpatterndb/variables/vlinelength.cpp | 16 ++++++++++ src/libs/vpatterndb/variables/vlinelength.h | 5 ++-- .../vpatterndb/variables/vmeasurement.cpp | 16 ++++++++++ src/libs/vpatterndb/variables/vmeasurement.h | 5 ++-- src/libs/vpatterndb/variables/vvariable.cpp | 16 ++++++++++ src/libs/vpatterndb/variables/vvariable.h | 5 ++-- src/libs/vpatterndb/vcontainer.cpp | 15 ++++++++++ src/libs/vpatterndb/vcontainer.h | 5 ++-- src/libs/vpatterndb/vnodedetail.cpp | 15 ++++++++++ src/libs/vpatterndb/vnodedetail.h | 5 ++-- src/libs/vpatterndb/vpiece.cpp | 16 ++++++++++ src/libs/vpatterndb/vpiece.h | 5 ++-- src/libs/vpatterndb/vpiecenode.cpp | 15 ++++++++++ src/libs/vpatterndb/vpiecenode.h | 5 ++-- src/libs/vpatterndb/vpiecepath.cpp | 15 ++++++++++ src/libs/vpatterndb/vpiecepath.h | 5 ++-- 68 files changed, 617 insertions(+), 105 deletions(-) diff --git a/src/libs/qmuparser/qmuparsercallback.cpp b/src/libs/qmuparser/qmuparsercallback.cpp index 00de23f04..f2ae6ef91 100644 --- a/src/libs/qmuparser/qmuparsercallback.cpp +++ b/src/libs/qmuparser/qmuparsercallback.cpp @@ -208,6 +208,21 @@ QmuParserCallback &QmuParserCallback::operator=(const QmuParserCallback &a_Fun) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +QmuParserCallback &QmuParserCallback::operator=(QmuParserCallback &&a_Fun) Q_DECL_NOTHROW +{ + Swap(a_Fun); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void QmuParserCallback::Swap(QmuParserCallback &a_Fun) Q_DECL_NOTHROW +{ + std::swap(d, a_Fun.d); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief Return true if the function is conservative. diff --git a/src/libs/qmuparser/qmuparsercallback.h b/src/libs/qmuparser/qmuparsercallback.h index 83cbf1949..a34909d3a 100644 --- a/src/libs/qmuparser/qmuparsercallback.h +++ b/src/libs/qmuparser/qmuparsercallback.h @@ -86,11 +86,10 @@ public: QmuParserCallback &operator=(const QmuParserCallback &a_Fun); #ifdef Q_COMPILER_RVALUE_REFS - QmuParserCallback &operator=(QmuParserCallback &&a_Fun) Q_DECL_NOTHROW { Swap(a_Fun); return *this; } + QmuParserCallback &operator=(QmuParserCallback &&a_Fun) Q_DECL_NOTHROW; #endif - inline void Swap(QmuParserCallback &a_Fun) Q_DECL_NOTHROW - { std::swap(d, a_Fun.d); } + void Swap(QmuParserCallback &a_Fun) Q_DECL_NOTHROW; Q_REQUIRED_RESULT QmuParserCallback* Clone() const; diff --git a/src/libs/vgeometry/vabstractarc.cpp b/src/libs/vgeometry/vabstractarc.cpp index 9c660b48d..68fc04431 100644 --- a/src/libs/vgeometry/vabstractarc.cpp +++ b/src/libs/vgeometry/vabstractarc.cpp @@ -78,6 +78,22 @@ VAbstractArc &VAbstractArc::operator=(const VAbstractArc &arc) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VAbstractArc &VAbstractArc::operator=(VAbstractArc &&arc) Q_DECL_NOTHROW +{ + Swap(arc); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VAbstractArc::Swap(VAbstractArc &arc) Q_DECL_NOTHROW +{ + VAbstractCurve::Swap(arc); + std::swap(d, arc.d); +} + //--------------------------------------------------------------------------------------------------------------------- VAbstractArc::~VAbstractArc() {} diff --git a/src/libs/vgeometry/vabstractarc.h b/src/libs/vgeometry/vabstractarc.h index be750f9c6..0195c0fc3 100644 --- a/src/libs/vgeometry/vabstractarc.h +++ b/src/libs/vgeometry/vabstractarc.h @@ -58,11 +58,10 @@ public: VAbstractArc& operator= (const VAbstractArc &arc); #ifdef Q_COMPILER_RVALUE_REFS - VAbstractArc &operator=(VAbstractArc &&arc) Q_DECL_NOTHROW { Swap(arc); return *this; } + VAbstractArc &operator=(VAbstractArc &&arc) Q_DECL_NOTHROW; #endif - inline void Swap(VAbstractArc &arc) Q_DECL_NOTHROW - { VAbstractCurve::Swap(arc); std::swap(d, arc.d); } + void Swap(VAbstractArc &arc) Q_DECL_NOTHROW; QString GetFormulaF1 () const; void SetFormulaF1 (const QString &formula, qreal value); diff --git a/src/libs/vgeometry/vabstractcurve.cpp b/src/libs/vgeometry/vabstractcurve.cpp index 4b4651482..c589bd901 100644 --- a/src/libs/vgeometry/vabstractcurve.cpp +++ b/src/libs/vgeometry/vabstractcurve.cpp @@ -59,6 +59,22 @@ VAbstractCurve &VAbstractCurve::operator=(const VAbstractCurve &curve) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VAbstractCurve &VAbstractCurve::operator=(VAbstractCurve &&curve) Q_DECL_NOTHROW +{ + Swap(curve); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VAbstractCurve::Swap(VAbstractCurve &curve) Q_DECL_NOTHROW +{ + VGObject::Swap(curve); + std::swap(d, curve.d); +} + //--------------------------------------------------------------------------------------------------------------------- VAbstractCurve::~VAbstractCurve() {} diff --git a/src/libs/vgeometry/vabstractcurve.h b/src/libs/vgeometry/vabstractcurve.h index 6dab65fc3..7145d97aa 100644 --- a/src/libs/vgeometry/vabstractcurve.h +++ b/src/libs/vgeometry/vabstractcurve.h @@ -57,11 +57,10 @@ public: VAbstractCurve& operator= (const VAbstractCurve &curve); #ifdef Q_COMPILER_RVALUE_REFS - VAbstractCurve &operator=(VAbstractCurve &&curve) Q_DECL_NOTHROW { Swap(curve); return *this; } + VAbstractCurve &operator=(VAbstractCurve &&curve) Q_DECL_NOTHROW; #endif - inline void Swap(VAbstractCurve &curve) Q_DECL_NOTHROW - { VGObject::Swap(curve); std::swap(d, curve.d); } + void Swap(VAbstractCurve &curve) Q_DECL_NOTHROW; virtual QVector GetPoints() const =0; static QVector GetSegmentPoints(const QVector &points, const QPointF &begin, const QPointF &end, diff --git a/src/libs/vgeometry/varc.cpp b/src/libs/vgeometry/varc.cpp index 28af26f2f..80f9fd6f7 100644 --- a/src/libs/vgeometry/varc.cpp +++ b/src/libs/vgeometry/varc.cpp @@ -116,6 +116,23 @@ VArc &VArc::operator =(const VArc &arc) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VArc &VArc::operator=(VArc &&arc) Q_DECL_NOTHROW +{ + Swap(arc); + return *this; +} +#endif + + +//--------------------------------------------------------------------------------------------------------------------- +inline void VArc::Swap(VArc &arc) Q_DECL_NOTHROW +{ + VAbstractArc::Swap(arc); + std::swap(d, arc.d); +} + //--------------------------------------------------------------------------------------------------------------------- VArc VArc::Rotate(const QPointF &originPoint, qreal degrees, const QString &prefix) const { diff --git a/src/libs/vgeometry/varc.h b/src/libs/vgeometry/varc.h index 1608ef3bd..132af80cb 100644 --- a/src/libs/vgeometry/varc.h +++ b/src/libs/vgeometry/varc.h @@ -66,11 +66,10 @@ public: VArc& operator= (const VArc &arc); #ifdef Q_COMPILER_RVALUE_REFS - VArc &operator=(VArc &&arc) Q_DECL_NOTHROW { Swap(arc); return *this; } + VArc &operator=(VArc &&arc) Q_DECL_NOTHROW; #endif - inline void Swap(VArc &arc) Q_DECL_NOTHROW - { VAbstractArc::Swap(arc); std::swap(d, arc.d); } + void Swap(VArc &arc) Q_DECL_NOTHROW; QString GetFormulaRadius () const; void SetFormulaRadius (const QString &formula, qreal value); diff --git a/src/libs/vgeometry/vcubicbezier.cpp b/src/libs/vgeometry/vcubicbezier.cpp index 26039a017..5e66b9e1a 100644 --- a/src/libs/vgeometry/vcubicbezier.cpp +++ b/src/libs/vgeometry/vcubicbezier.cpp @@ -64,6 +64,22 @@ VCubicBezier &VCubicBezier::operator=(const VCubicBezier &curve) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VCubicBezier &VCubicBezier::operator=(VCubicBezier &&curve) Q_DECL_NOTHROW +{ + Swap(curve); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VCubicBezier::Swap(VCubicBezier &curve) Q_DECL_NOTHROW +{ + VAbstractCubicBezier::Swap(curve); + std::swap(d, curve.d); +} + //--------------------------------------------------------------------------------------------------------------------- VCubicBezier VCubicBezier::Rotate(const QPointF &originPoint, qreal degrees, const QString &prefix) const { diff --git a/src/libs/vgeometry/vcubicbezier.h b/src/libs/vgeometry/vcubicbezier.h index cd1562a8a..17652e77d 100644 --- a/src/libs/vgeometry/vcubicbezier.h +++ b/src/libs/vgeometry/vcubicbezier.h @@ -57,11 +57,10 @@ public: VCubicBezier &operator=(const VCubicBezier &curve); #ifdef Q_COMPILER_RVALUE_REFS - VCubicBezier &operator=(VCubicBezier &&curve) Q_DECL_NOTHROW { Swap(curve); return *this; } + VCubicBezier &operator=(VCubicBezier &&curve) Q_DECL_NOTHROW; #endif - inline void Swap(VCubicBezier &curve) Q_DECL_NOTHROW - { VAbstractCubicBezier::Swap(curve); std::swap(d, curve.d); } + void Swap(VCubicBezier &curve) Q_DECL_NOTHROW; virtual VPointF GetP1() const override; void SetP1(const VPointF &p); diff --git a/src/libs/vgeometry/vcubicbezierpath.cpp b/src/libs/vgeometry/vcubicbezierpath.cpp index 7963ce795..ba43248db 100644 --- a/src/libs/vgeometry/vcubicbezierpath.cpp +++ b/src/libs/vgeometry/vcubicbezierpath.cpp @@ -78,6 +78,22 @@ VCubicBezierPath &VCubicBezierPath::operator=(const VCubicBezierPath &curve) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VCubicBezierPath &VCubicBezierPath::operator=(VCubicBezierPath &&curve) Q_DECL_NOTHROW +{ + Swap(curve); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VCubicBezierPath::Swap(VCubicBezierPath &curve) Q_DECL_NOTHROW +{ + VAbstractCubicBezierPath::Swap(curve); + std::swap(d, curve.d); +} + //--------------------------------------------------------------------------------------------------------------------- VCubicBezierPath VCubicBezierPath::Rotate(const QPointF &originPoint, qreal degrees, const QString &prefix) const { diff --git a/src/libs/vgeometry/vcubicbezierpath.h b/src/libs/vgeometry/vcubicbezierpath.h index c2b3f1df5..8bb565e24 100644 --- a/src/libs/vgeometry/vcubicbezierpath.h +++ b/src/libs/vgeometry/vcubicbezierpath.h @@ -58,11 +58,10 @@ public: VCubicBezierPath &operator=(const VCubicBezierPath &curve); #ifdef Q_COMPILER_RVALUE_REFS - VCubicBezierPath &operator=(VCubicBezierPath &&curve) Q_DECL_NOTHROW { Swap(curve); return *this; } + VCubicBezierPath &operator=(VCubicBezierPath &&curve) Q_DECL_NOTHROW; #endif - inline void Swap(VCubicBezierPath &curve) Q_DECL_NOTHROW - { VAbstractCubicBezierPath::Swap(curve); std::swap(d, curve.d); } + void Swap(VCubicBezierPath &curve) Q_DECL_NOTHROW; VPointF &operator[](int indx); diff --git a/src/libs/vgeometry/vellipticalarc.cpp b/src/libs/vgeometry/vellipticalarc.cpp index e63e9e036..41dfcd0e9 100644 --- a/src/libs/vgeometry/vellipticalarc.cpp +++ b/src/libs/vgeometry/vellipticalarc.cpp @@ -123,6 +123,22 @@ VEllipticalArc &VEllipticalArc::operator =(const VEllipticalArc &arc) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VEllipticalArc &VEllipticalArc::operator=(VEllipticalArc &&arc) Q_DECL_NOTHROW +{ + Swap(arc); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VEllipticalArc::Swap(VEllipticalArc &arc) Q_DECL_NOTHROW +{ + VAbstractArc::Swap(arc); + std::swap(d, arc.d); +} + //--------------------------------------------------------------------------------------------------------------------- VEllipticalArc VEllipticalArc::Rotate(QPointF originPoint, qreal degrees, const QString &prefix) const { diff --git a/src/libs/vgeometry/vellipticalarc.h b/src/libs/vgeometry/vellipticalarc.h index 0821a8a20..c70f64b30 100644 --- a/src/libs/vgeometry/vellipticalarc.h +++ b/src/libs/vgeometry/vellipticalarc.h @@ -69,11 +69,10 @@ public: VEllipticalArc& operator= (const VEllipticalArc &arc); #ifdef Q_COMPILER_RVALUE_REFS - VEllipticalArc &operator=(VEllipticalArc &&arc) Q_DECL_NOTHROW { Swap(arc); return *this; } + VEllipticalArc &operator=(VEllipticalArc &&arc) Q_DECL_NOTHROW; #endif - inline void Swap(VEllipticalArc &arc) Q_DECL_NOTHROW - { VAbstractArc::Swap(arc); std::swap(d, arc.d); } + void Swap(VEllipticalArc &arc) Q_DECL_NOTHROW; QString GetFormulaRotationAngle () const; void SetFormulaRotationAngle (const QString &formula, qreal value); diff --git a/src/libs/vgeometry/vgobject.cpp b/src/libs/vgeometry/vgobject.cpp index 8041df05d..b8034f1a4 100644 --- a/src/libs/vgeometry/vgobject.cpp +++ b/src/libs/vgeometry/vgobject.cpp @@ -127,6 +127,22 @@ VGObject &VGObject::operator=(const VGObject &obj) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS + +//--------------------------------------------------------------------------------------------------------------------- +VGObject &VGObject::operator=(VGObject &&obj) Q_DECL_NOTHROW +{ + Swap(obj); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VGObject::Swap(VGObject &obj) Q_DECL_NOTHROW +{ + std::swap(d, obj.d); +} + //--------------------------------------------------------------------------------------------------------------------- VGObject::~VGObject() {} diff --git a/src/libs/vgeometry/vgobject.h b/src/libs/vgeometry/vgobject.h index 0583d2388..236ee0f1e 100644 --- a/src/libs/vgeometry/vgobject.h +++ b/src/libs/vgeometry/vgobject.h @@ -59,11 +59,10 @@ public: VGObject& operator= (const VGObject &obj); #ifdef Q_COMPILER_RVALUE_REFS - VGObject &operator=(VGObject &&obj) Q_DECL_NOTHROW { Swap(obj); return *this; } + VGObject &operator=(VGObject &&obj) Q_DECL_NOTHROW; #endif - inline void Swap(VGObject &obj) Q_DECL_NOTHROW - { std::swap(d, obj.d); } + void Swap(VGObject &obj) Q_DECL_NOTHROW; quint32 getIdObject() const; void setIdObject(const quint32 &value); diff --git a/src/libs/vgeometry/vplacelabelitem.cpp b/src/libs/vgeometry/vplacelabelitem.cpp index ba58a5063..303c5e4d0 100644 --- a/src/libs/vgeometry/vplacelabelitem.cpp +++ b/src/libs/vgeometry/vplacelabelitem.cpp @@ -225,6 +225,22 @@ VPlaceLabelItem &VPlaceLabelItem::operator=(const VPlaceLabelItem &item) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPlaceLabelItem &VPlaceLabelItem::operator=(VPlaceLabelItem &&item) Q_DECL_NOTHROW +{ + Swap(item); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPlaceLabelItem::Swap(VPlaceLabelItem &item) Q_DECL_NOTHROW +{ + VPointF::Swap(item); + std::swap(d, item.d); +} + //--------------------------------------------------------------------------------------------------------------------- PlaceLabelImg VPlaceLabelItem::LabelShape() const { diff --git a/src/libs/vgeometry/vplacelabelitem.h b/src/libs/vgeometry/vplacelabelitem.h index 11d7c30a3..758a50877 100644 --- a/src/libs/vgeometry/vplacelabelitem.h +++ b/src/libs/vgeometry/vplacelabelitem.h @@ -48,11 +48,10 @@ public: VPlaceLabelItem &operator=(const VPlaceLabelItem &item); #ifdef Q_COMPILER_RVALUE_REFS - VPlaceLabelItem &operator=(VPlaceLabelItem &&item) Q_DECL_NOTHROW { Swap(item); return *this; } + VPlaceLabelItem &operator=(VPlaceLabelItem &&item) Q_DECL_NOTHROW; #endif - inline void Swap(VPlaceLabelItem &item) Q_DECL_NOTHROW - { VPointF::Swap(item); std::swap(d, item.d); } + void Swap(VPlaceLabelItem &item) Q_DECL_NOTHROW; QString GetWidthFormula() const; QString& GetWidthFormula(); diff --git a/src/libs/vgeometry/vpointf.cpp b/src/libs/vgeometry/vpointf.cpp index 420cc824c..628a8b556 100644 --- a/src/libs/vgeometry/vpointf.cpp +++ b/src/libs/vgeometry/vpointf.cpp @@ -102,6 +102,22 @@ VPointF &VPointF::operator =(const VPointF &point) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPointF &VPointF::operator=(VPointF &&point) Q_DECL_NOTHROW +{ + Swap(point); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPointF::Swap(VPointF &point) Q_DECL_NOTHROW +{ + VGObject::Swap(point); + std::swap(d, point.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPointF::operator QPointF() const { diff --git a/src/libs/vgeometry/vpointf.h b/src/libs/vgeometry/vpointf.h index 06979d289..323f27aa4 100644 --- a/src/libs/vgeometry/vpointf.h +++ b/src/libs/vgeometry/vpointf.h @@ -62,11 +62,10 @@ public: VPointF &operator=(const VPointF &point); #ifdef Q_COMPILER_RVALUE_REFS - VPointF &operator=(VPointF &&point) Q_DECL_NOTHROW { Swap(point); return *this; } + VPointF &operator=(VPointF &&point) Q_DECL_NOTHROW; #endif - inline void Swap(VPointF &point) Q_DECL_NOTHROW - { VGObject::Swap(point); std::swap(d, point.d); } + void Swap(VPointF &point) Q_DECL_NOTHROW; explicit operator QPointF() const; VPointF Rotate(const QPointF &originPoint, qreal degrees, const QString &prefix = QString()) const; diff --git a/src/libs/vgeometry/vspline.cpp b/src/libs/vgeometry/vspline.cpp index dc8409534..3b1728076 100644 --- a/src/libs/vgeometry/vspline.cpp +++ b/src/libs/vgeometry/vspline.cpp @@ -247,6 +247,22 @@ VSpline &VSpline::operator =(const VSpline &spline) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VSpline &VSpline::operator=(VSpline &&spline) Q_DECL_NOTHROW +{ + Swap(spline); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VSpline::Swap(VSpline &spline) Q_DECL_NOTHROW +{ + VAbstractCubicBezier::Swap(spline); + std::swap(d, spline.d); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief GetP1 return first spline point. diff --git a/src/libs/vgeometry/vspline.h b/src/libs/vgeometry/vspline.h index c786729a2..09d037c88 100644 --- a/src/libs/vgeometry/vspline.h +++ b/src/libs/vgeometry/vspline.h @@ -67,11 +67,10 @@ public: VSpline &operator=(const VSpline &spline); #ifdef Q_COMPILER_RVALUE_REFS - VSpline &operator=(VSpline &&spline) Q_DECL_NOTHROW { Swap(spline); return *this; } + VSpline &operator=(VSpline &&spline) Q_DECL_NOTHROW; #endif - inline void Swap(VSpline &spline) Q_DECL_NOTHROW - { VAbstractCubicBezier::Swap(spline); std::swap(d, spline.d); } + void Swap(VSpline &spline) Q_DECL_NOTHROW; virtual VPointF GetP1 () const override; void SetP1 (const VPointF &p); diff --git a/src/libs/vgeometry/vsplinepath.cpp b/src/libs/vgeometry/vsplinepath.cpp index 53579b7a2..d10f44bd4 100644 --- a/src/libs/vgeometry/vsplinepath.cpp +++ b/src/libs/vgeometry/vsplinepath.cpp @@ -303,6 +303,22 @@ VSplinePath &VSplinePath::operator =(const VSplinePath &path) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VSplinePath &VSplinePath::operator=(VSplinePath &&path) Q_DECL_NOTHROW +{ + Swap(path); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VSplinePath::Swap(VSplinePath &path) Q_DECL_NOTHROW +{ + VAbstractCubicBezierPath::Swap(path); + std::swap(d, path.d); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief operator [] return spline point by index. diff --git a/src/libs/vgeometry/vsplinepath.h b/src/libs/vgeometry/vsplinepath.h index 4d0788bbb..933aa72b7 100644 --- a/src/libs/vgeometry/vsplinepath.h +++ b/src/libs/vgeometry/vsplinepath.h @@ -67,11 +67,10 @@ public: VSplinePoint &operator[](int indx); VSplinePath &operator=(const VSplinePath &path); #ifdef Q_COMPILER_RVALUE_REFS - VSplinePath &operator=(VSplinePath &&path) Q_DECL_NOTHROW { Swap(path); return *this; } + VSplinePath &operator=(VSplinePath &&path) Q_DECL_NOTHROW; #endif - inline void Swap(VSplinePath &path) Q_DECL_NOTHROW - { VAbstractCubicBezierPath::Swap(path); std::swap(d, path.d); } + void Swap(VSplinePath &path) Q_DECL_NOTHROW; void append(const VSplinePoint &point); diff --git a/src/libs/vgeometry/vsplinepoint.cpp b/src/libs/vgeometry/vsplinepoint.cpp index 8941a6474..7cbf93e5c 100644 --- a/src/libs/vgeometry/vsplinepoint.cpp +++ b/src/libs/vgeometry/vsplinepoint.cpp @@ -75,6 +75,20 @@ VFSplinePoint &VFSplinePoint::operator=(const VFSplinePoint &point) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VFSplinePoint &VFSplinePoint::operator=(VFSplinePoint &&point) Q_DECL_NOTHROW +{ + Swap(point); + return *this; +} +#endif + +void VFSplinePoint::Swap(VFSplinePoint &point) Q_DECL_NOTHROW +{ + std::swap(d, point.d); +} + //--------------------------------------------------------------------------------------------------------------------- VFSplinePoint::~VFSplinePoint() {} @@ -220,6 +234,21 @@ VSplinePoint &VSplinePoint::operator=(const VSplinePoint &point) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VSplinePoint &VSplinePoint::operator=(VSplinePoint &&point) Q_DECL_NOTHROW +{ + Swap(point); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VSplinePoint::Swap(VSplinePoint &point) Q_DECL_NOTHROW +{ + std::swap(d, point.d); +} + //--------------------------------------------------------------------------------------------------------------------- VSplinePoint::~VSplinePoint() { diff --git a/src/libs/vgeometry/vsplinepoint.h b/src/libs/vgeometry/vsplinepoint.h index 368065c86..e03b2fc1a 100644 --- a/src/libs/vgeometry/vsplinepoint.h +++ b/src/libs/vgeometry/vsplinepoint.h @@ -53,11 +53,10 @@ public: VFSplinePoint &operator=(const VFSplinePoint &point); #ifdef Q_COMPILER_RVALUE_REFS - VFSplinePoint &operator=(VFSplinePoint &&point) Q_DECL_NOTHROW { Swap(point); return *this; } + VFSplinePoint &operator=(VFSplinePoint &&point) Q_DECL_NOTHROW; #endif - inline void Swap(VFSplinePoint &point) Q_DECL_NOTHROW - { std::swap(d, point.d); } + void Swap(VFSplinePoint &point) Q_DECL_NOTHROW; VPointF P() const; void SetP(const VPointF &value); @@ -93,11 +92,10 @@ public: VSplinePoint &operator=(const VSplinePoint &point); #ifdef Q_COMPILER_RVALUE_REFS - VSplinePoint &operator=(VSplinePoint &&point) Q_DECL_NOTHROW { Swap(point); return *this; } + VSplinePoint &operator=(VSplinePoint &&point) Q_DECL_NOTHROW; #endif - inline void Swap(VSplinePoint &point) Q_DECL_NOTHROW - { std::swap(d, point.d); } + void Swap(VSplinePoint &point) Q_DECL_NOTHROW; VPointF P() const; void SetP(const VPointF &value); diff --git a/src/libs/vlayout/vabstractpiece.cpp b/src/libs/vlayout/vabstractpiece.cpp index d0de1902d..88e60b189 100644 --- a/src/libs/vlayout/vabstractpiece.cpp +++ b/src/libs/vlayout/vabstractpiece.cpp @@ -918,6 +918,21 @@ VAbstractPiece &VAbstractPiece::operator=(const VAbstractPiece &piece) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VAbstractPiece &VAbstractPiece::operator=(VAbstractPiece &&piece) Q_DECL_NOTHROW +{ + Swap(piece); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VAbstractPiece::Swap(VAbstractPiece &piece) Q_DECL_NOTHROW +{ + std::swap(d, piece.d); +} + //--------------------------------------------------------------------------------------------------------------------- VAbstractPiece::~VAbstractPiece() {} diff --git a/src/libs/vlayout/vabstractpiece.h b/src/libs/vlayout/vabstractpiece.h index cd9f402d8..1cdf8f437 100644 --- a/src/libs/vlayout/vabstractpiece.h +++ b/src/libs/vlayout/vabstractpiece.h @@ -57,11 +57,10 @@ public: VAbstractPiece &operator=(const VAbstractPiece &piece); #ifdef Q_COMPILER_RVALUE_REFS - VAbstractPiece &operator=(VAbstractPiece &&piece) Q_DECL_NOTHROW { Swap(piece); return *this; } + VAbstractPiece &operator=(VAbstractPiece &&piece) Q_DECL_NOTHROW; #endif - inline void Swap(VAbstractPiece &piece) Q_DECL_NOTHROW - { std::swap(d, piece.d); } + void Swap(VAbstractPiece &piece) Q_DECL_NOTHROW; QString GetName() const; void SetName(const QString &value); diff --git a/src/libs/vlayout/vcontour.cpp b/src/libs/vlayout/vcontour.cpp index eeaa9ce50..8e46562ec 100644 --- a/src/libs/vlayout/vcontour.cpp +++ b/src/libs/vlayout/vcontour.cpp @@ -124,6 +124,21 @@ VContour &VContour::operator=(const VContour &contour) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VContour &VContour::operator=(VContour &&contour) Q_DECL_NOTHROW +{ + Swap(contour); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VContour::Swap(VContour &contour) Q_DECL_NOTHROW +{ + std::swap(d, contour.d); +} + //--------------------------------------------------------------------------------------------------------------------- VContour::~VContour() {} diff --git a/src/libs/vlayout/vcontour.h b/src/libs/vlayout/vcontour.h index 535515082..d569c9cf7 100644 --- a/src/libs/vlayout/vcontour.h +++ b/src/libs/vlayout/vcontour.h @@ -55,11 +55,10 @@ public: VContour &operator=(const VContour &contour); #ifdef Q_COMPILER_RVALUE_REFS - VContour &operator=(VContour &&contour) Q_DECL_NOTHROW { Swap(contour); return *this; } + VContour &operator=(VContour &&contour) Q_DECL_NOTHROW; #endif - inline void Swap(VContour &contour) Q_DECL_NOTHROW - { std::swap(d, contour.d); } + void Swap(VContour &contour) Q_DECL_NOTHROW; void CeateEmptySheetContour(); diff --git a/src/libs/vlayout/vlayoutpaper.cpp b/src/libs/vlayout/vlayoutpaper.cpp index ceba7d986..a10494ce5 100644 --- a/src/libs/vlayout/vlayoutpaper.cpp +++ b/src/libs/vlayout/vlayoutpaper.cpp @@ -76,6 +76,21 @@ VLayoutPaper &VLayoutPaper::operator=(const VLayoutPaper &paper) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VLayoutPaper &VLayoutPaper::operator=(VLayoutPaper &&paper) Q_DECL_NOTHROW +{ + Swap(paper); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VLayoutPaper::Swap(VLayoutPaper &paper) Q_DECL_NOTHROW +{ + std::swap(d, paper.d); +} + //--------------------------------------------------------------------------------------------------------------------- VLayoutPaper::~VLayoutPaper() {} diff --git a/src/libs/vlayout/vlayoutpaper.h b/src/libs/vlayout/vlayoutpaper.h index 9dd752f93..26ffd5ee0 100644 --- a/src/libs/vlayout/vlayoutpaper.h +++ b/src/libs/vlayout/vlayoutpaper.h @@ -58,11 +58,10 @@ public: VLayoutPaper &operator=(const VLayoutPaper &paper); #ifdef Q_COMPILER_RVALUE_REFS - VLayoutPaper &operator=(VLayoutPaper &&paper) Q_DECL_NOTHROW { Swap(paper); return *this; } + VLayoutPaper &operator=(VLayoutPaper &&paper) Q_DECL_NOTHROW; #endif - inline void Swap(VLayoutPaper &paper) Q_DECL_NOTHROW - { std::swap(d, paper.d); } + void Swap(VLayoutPaper &paper) Q_DECL_NOTHROW; int GetHeight() const; void SetHeight(int height); diff --git a/src/libs/vlayout/vlayoutpiece.cpp b/src/libs/vlayout/vlayoutpiece.cpp index d51fa8d29..472a2e76f 100644 --- a/src/libs/vlayout/vlayoutpiece.cpp +++ b/src/libs/vlayout/vlayoutpiece.cpp @@ -404,6 +404,22 @@ VLayoutPiece &VLayoutPiece::operator=(const VLayoutPiece &detail) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VLayoutPiece &VLayoutPiece::operator=(VLayoutPiece &&detail) Q_DECL_NOTHROW +{ + Swap(detail); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VLayoutPiece::Swap(VLayoutPiece &detail) Q_DECL_NOTHROW +{ + VAbstractPiece::Swap(detail); + std::swap(d, detail.d); +} + //--------------------------------------------------------------------------------------------------------------------- VLayoutPiece::~VLayoutPiece() {} diff --git a/src/libs/vlayout/vlayoutpiece.h b/src/libs/vlayout/vlayoutpiece.h index b586599b8..2ee682f60 100644 --- a/src/libs/vlayout/vlayoutpiece.h +++ b/src/libs/vlayout/vlayoutpiece.h @@ -67,11 +67,10 @@ public: VLayoutPiece &operator=(const VLayoutPiece &detail); #ifdef Q_COMPILER_RVALUE_REFS - VLayoutPiece &operator=(VLayoutPiece &&detail) Q_DECL_NOTHROW { Swap(detail); return *this; } + VLayoutPiece &operator=(VLayoutPiece &&detail) Q_DECL_NOTHROW; #endif - inline void Swap(VLayoutPiece &detail) Q_DECL_NOTHROW - { VAbstractPiece::Swap(detail); std::swap(d, detail.d); } + void Swap(VLayoutPiece &detail) Q_DECL_NOTHROW; static VLayoutPiece Create(const VPiece &piece, vidtype id, const VContainer *pattern); diff --git a/src/libs/vlayout/vlayoutpiecepath.cpp b/src/libs/vlayout/vlayoutpiecepath.cpp index af9d41e6d..c83841e19 100644 --- a/src/libs/vlayout/vlayoutpiecepath.cpp +++ b/src/libs/vlayout/vlayoutpiecepath.cpp @@ -79,6 +79,21 @@ VLayoutPiecePath &VLayoutPiecePath::operator=(const VLayoutPiecePath &path) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VLayoutPiecePath &VLayoutPiecePath::operator=(VLayoutPiecePath &&path) Q_DECL_NOTHROW +{ + Swap(path); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VLayoutPiecePath::Swap(VLayoutPiecePath &path) Q_DECL_NOTHROW +{ + std::swap(d, path.d); +} + //--------------------------------------------------------------------------------------------------------------------- VLayoutPiecePath::~VLayoutPiecePath() { diff --git a/src/libs/vlayout/vlayoutpiecepath.h b/src/libs/vlayout/vlayoutpiecepath.h index f6f69ba95..c1e4645e6 100644 --- a/src/libs/vlayout/vlayoutpiecepath.h +++ b/src/libs/vlayout/vlayoutpiecepath.h @@ -47,11 +47,10 @@ public: VLayoutPiecePath &operator=(const VLayoutPiecePath &path); #ifdef Q_COMPILER_RVALUE_REFS - VLayoutPiecePath &operator=(VLayoutPiecePath &&path) Q_DECL_NOTHROW { Swap(path); return *this; } + VLayoutPiecePath &operator=(VLayoutPiecePath &&path) Q_DECL_NOTHROW; #endif - inline void Swap(VLayoutPiecePath &path) Q_DECL_NOTHROW - { std::swap(d, path.d); } + void Swap(VLayoutPiecePath &path) Q_DECL_NOTHROW; QPainterPath GetPainterPath() const; diff --git a/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.cpp b/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.cpp index 4cb7e34be..04d9ec8a4 100644 --- a/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.cpp +++ b/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.cpp @@ -50,6 +50,21 @@ VAbstractFloatItemData &VAbstractFloatItemData::operator=(const VAbstractFloatIt return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VAbstractFloatItemData &VAbstractFloatItemData::operator=(VAbstractFloatItemData &&data) Q_DECL_NOTHROW +{ + Swap(data); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VAbstractFloatItemData::Swap(VAbstractFloatItemData &data) Q_DECL_NOTHROW +{ + std::swap(d, data.d); +} + //--------------------------------------------------------------------------------------------------------------------- VAbstractFloatItemData::~VAbstractFloatItemData() {} diff --git a/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.h b/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.h index 80d53194a..6e59bcf0c 100644 --- a/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.h +++ b/src/libs/vpatterndb/floatItemData/vabstractfloatitemdata.h @@ -44,11 +44,10 @@ public: VAbstractFloatItemData &operator=(const VAbstractFloatItemData &data); #ifdef Q_COMPILER_RVALUE_REFS - VAbstractFloatItemData &operator=(VAbstractFloatItemData &&data) Q_DECL_NOTHROW { Swap(data); return *this; } + VAbstractFloatItemData &operator=(VAbstractFloatItemData &&data) Q_DECL_NOTHROW; #endif - inline void Swap(VAbstractFloatItemData &data) Q_DECL_NOTHROW - { std::swap(d, data.d); } + void Swap(VAbstractFloatItemData &data) Q_DECL_NOTHROW; // methods, which set and return values of different parameters QPointF GetPos() const; diff --git a/src/libs/vpatterndb/floatItemData/vgrainlinedata.cpp b/src/libs/vpatterndb/floatItemData/vgrainlinedata.cpp index 0908d493f..aa2bc61af 100644 --- a/src/libs/vpatterndb/floatItemData/vgrainlinedata.cpp +++ b/src/libs/vpatterndb/floatItemData/vgrainlinedata.cpp @@ -55,6 +55,22 @@ VGrainlineData &VGrainlineData::operator=(const VGrainlineData &data) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VGrainlineData &VGrainlineData::operator=(VGrainlineData &&data) Q_DECL_NOTHROW +{ + Swap(data); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VGrainlineData::Swap(VGrainlineData &data) Q_DECL_NOTHROW +{ + VAbstractFloatItemData::Swap(data); + std::swap(d, data.d); +} + //--------------------------------------------------------------------------------------------------------------------- VGrainlineData::~VGrainlineData() {} diff --git a/src/libs/vpatterndb/floatItemData/vgrainlinedata.h b/src/libs/vpatterndb/floatItemData/vgrainlinedata.h index 94c09bf60..4bc83da7c 100644 --- a/src/libs/vpatterndb/floatItemData/vgrainlinedata.h +++ b/src/libs/vpatterndb/floatItemData/vgrainlinedata.h @@ -51,11 +51,10 @@ public: VGrainlineData &operator=(const VGrainlineData &data); #ifdef Q_COMPILER_RVALUE_REFS - VGrainlineData &operator=(VGrainlineData &&data) Q_DECL_NOTHROW { Swap(data); return *this; } + VGrainlineData &operator=(VGrainlineData &&data) Q_DECL_NOTHROW; #endif - inline void Swap(VGrainlineData &data) Q_DECL_NOTHROW - { VAbstractFloatItemData::Swap(data); std::swap(d, data.d); } + void Swap(VGrainlineData &data) Q_DECL_NOTHROW; // methods, which set and return values of different parameters QString GetLength() const; diff --git a/src/libs/vpatterndb/floatItemData/vpatternlabeldata.cpp b/src/libs/vpatterndb/floatItemData/vpatternlabeldata.cpp index 47bacaa05..aa0a02c36 100644 --- a/src/libs/vpatterndb/floatItemData/vpatternlabeldata.cpp +++ b/src/libs/vpatterndb/floatItemData/vpatternlabeldata.cpp @@ -54,6 +54,22 @@ VPatternLabelData &VPatternLabelData::operator=(const VPatternLabelData &data) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPatternLabelData &VPatternLabelData::operator=(VPatternLabelData &&data) Q_DECL_NOTHROW +{ + Swap(data); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPatternLabelData::Swap(VPatternLabelData &data) Q_DECL_NOTHROW +{ + VAbstractFloatItemData::Swap(data); + std::swap(d, data.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPatternLabelData::~VPatternLabelData() {} diff --git a/src/libs/vpatterndb/floatItemData/vpatternlabeldata.h b/src/libs/vpatterndb/floatItemData/vpatternlabeldata.h index 589be790b..b7e482dc4 100644 --- a/src/libs/vpatterndb/floatItemData/vpatternlabeldata.h +++ b/src/libs/vpatterndb/floatItemData/vpatternlabeldata.h @@ -48,11 +48,10 @@ public: VPatternLabelData &operator=(const VPatternLabelData &data); #ifdef Q_COMPILER_RVALUE_REFS - VPatternLabelData &operator=(VPatternLabelData &&data) Q_DECL_NOTHROW { Swap(data); return *this; } + VPatternLabelData &operator=(VPatternLabelData &&data) Q_DECL_NOTHROW; #endif - inline void Swap(VPatternLabelData &data) Q_DECL_NOTHROW - { VAbstractFloatItemData::Swap(data); std::swap(d, data.d); } + void Swap(VPatternLabelData &data) Q_DECL_NOTHROW; // methods, which set up label parameters QString GetLabelWidth() const; diff --git a/src/libs/vpatterndb/floatItemData/vpiecelabeldata.cpp b/src/libs/vpatterndb/floatItemData/vpiecelabeldata.cpp index 4dd7ca40a..595a9a5b9 100644 --- a/src/libs/vpatterndb/floatItemData/vpiecelabeldata.cpp +++ b/src/libs/vpatterndb/floatItemData/vpiecelabeldata.cpp @@ -55,6 +55,22 @@ VPieceLabelData &VPieceLabelData::operator=(const VPieceLabelData &data) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPieceLabelData &VPieceLabelData::operator=(VPieceLabelData &&data) Q_DECL_NOTHROW +{ + Swap(data); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPieceLabelData::Swap(VPieceLabelData &data) Q_DECL_NOTHROW +{ + VPatternLabelData::Swap(data); + std::swap(d, data.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPieceLabelData::~VPieceLabelData() {} diff --git a/src/libs/vpatterndb/floatItemData/vpiecelabeldata.h b/src/libs/vpatterndb/floatItemData/vpiecelabeldata.h index 58a61fc1a..a70bd51b1 100644 --- a/src/libs/vpatterndb/floatItemData/vpiecelabeldata.h +++ b/src/libs/vpatterndb/floatItemData/vpiecelabeldata.h @@ -51,11 +51,10 @@ public: VPieceLabelData &operator=(const VPieceLabelData &data); #ifdef Q_COMPILER_RVALUE_REFS - VPieceLabelData &operator=(VPieceLabelData &&data) Q_DECL_NOTHROW { Swap(data); return *this; } + VPieceLabelData &operator=(VPieceLabelData &&data) Q_DECL_NOTHROW; #endif - inline void Swap(VPieceLabelData &data) Q_DECL_NOTHROW - { VPatternLabelData::Swap(data); std::swap(d, data.d); } + void Swap(VPieceLabelData &data) Q_DECL_NOTHROW; void Clear(); diff --git a/src/libs/vpatterndb/variables/vcurvevariable.cpp b/src/libs/vpatterndb/variables/vcurvevariable.cpp index 8dbe8c3dc..a451abaf6 100644 --- a/src/libs/vpatterndb/variables/vcurvevariable.cpp +++ b/src/libs/vpatterndb/variables/vcurvevariable.cpp @@ -64,6 +64,22 @@ VCurveVariable &VCurveVariable::operator=(const VCurveVariable &var) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VCurveVariable &VCurveVariable::operator=(VCurveVariable &&var) Q_DECL_NOTHROW +{ + Swap(var); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VCurveVariable::Swap(VCurveVariable &var) Q_DECL_NOTHROW +{ + VInternalVariable::Swap(var); + std::swap(d, var.d); +} + //--------------------------------------------------------------------------------------------------------------------- VCurveVariable::~VCurveVariable() {} diff --git a/src/libs/vpatterndb/variables/vcurvevariable.h b/src/libs/vpatterndb/variables/vcurvevariable.h index 505a6e046..7ee685875 100644 --- a/src/libs/vpatterndb/variables/vcurvevariable.h +++ b/src/libs/vpatterndb/variables/vcurvevariable.h @@ -49,11 +49,10 @@ public: VCurveVariable &operator=(const VCurveVariable &var); #ifdef Q_COMPILER_RVALUE_REFS - VCurveVariable &operator=(VCurveVariable &&var) Q_DECL_NOTHROW { Swap(var); return *this; } + VCurveVariable &operator=(VCurveVariable &&var) Q_DECL_NOTHROW; #endif - inline void Swap(VCurveVariable &var) Q_DECL_NOTHROW - { VInternalVariable::Swap(var); std::swap(d, var.d); } + void Swap(VCurveVariable &var) Q_DECL_NOTHROW; virtual bool Filter(quint32 id) override; diff --git a/src/libs/vpatterndb/variables/vincrement.cpp b/src/libs/vpatterndb/variables/vincrement.cpp index 7ddd68a97..ff1427512 100644 --- a/src/libs/vpatterndb/variables/vincrement.cpp +++ b/src/libs/vpatterndb/variables/vincrement.cpp @@ -70,6 +70,22 @@ VIncrement &VIncrement::operator=(const VIncrement &incr) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VIncrement &VIncrement::operator=(VIncrement &&incr) Q_DECL_NOTHROW +{ + Swap(incr); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VIncrement::Swap(VIncrement &incr) Q_DECL_NOTHROW +{ + VVariable::Swap(incr); + std::swap(d, incr.d); +} + //--------------------------------------------------------------------------------------------------------------------- VIncrement::~VIncrement() {} diff --git a/src/libs/vpatterndb/variables/vincrement.h b/src/libs/vpatterndb/variables/vincrement.h index 10c5fcd6a..ffb647add 100644 --- a/src/libs/vpatterndb/variables/vincrement.h +++ b/src/libs/vpatterndb/variables/vincrement.h @@ -54,11 +54,10 @@ public: VIncrement &operator=(const VIncrement &incr); #ifdef Q_COMPILER_RVALUE_REFS - VIncrement &operator=(VIncrement &&incr) Q_DECL_NOTHROW { Swap(incr); return *this; } + VIncrement &operator=(VIncrement &&incr) Q_DECL_NOTHROW; #endif - inline void Swap(VIncrement &incr) Q_DECL_NOTHROW - { VVariable::Swap(incr); std::swap(d, incr.d); } + void Swap(VIncrement &incr) Q_DECL_NOTHROW; void SetFormula(qreal base, const QString &formula, bool ok); QString GetFormula() const; diff --git a/src/libs/vpatterndb/variables/vinternalvariable.cpp b/src/libs/vpatterndb/variables/vinternalvariable.cpp index da5b2acf6..2d8d53e91 100644 --- a/src/libs/vpatterndb/variables/vinternalvariable.cpp +++ b/src/libs/vpatterndb/variables/vinternalvariable.cpp @@ -50,6 +50,21 @@ VInternalVariable &VInternalVariable::operator=(const VInternalVariable &var) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VInternalVariable &VInternalVariable::operator=(VInternalVariable &&var) Q_DECL_NOTHROW +{ + Swap(var); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VInternalVariable::Swap(VInternalVariable &var) Q_DECL_NOTHROW +{ + std::swap(d, var.d); +} + //--------------------------------------------------------------------------------------------------------------------- VInternalVariable::~VInternalVariable() {} diff --git a/src/libs/vpatterndb/variables/vinternalvariable.h b/src/libs/vpatterndb/variables/vinternalvariable.h index 41a95e8d1..7a16b21bf 100644 --- a/src/libs/vpatterndb/variables/vinternalvariable.h +++ b/src/libs/vpatterndb/variables/vinternalvariable.h @@ -48,11 +48,10 @@ public: VInternalVariable &operator=(const VInternalVariable &var); #ifdef Q_COMPILER_RVALUE_REFS - VInternalVariable &operator=(VInternalVariable &&var) Q_DECL_NOTHROW { Swap(var); return *this; } + VInternalVariable &operator=(VInternalVariable &&var) Q_DECL_NOTHROW; #endif - inline void Swap(VInternalVariable &var) Q_DECL_NOTHROW - { std::swap(d, var.d); } + void Swap(VInternalVariable &var) Q_DECL_NOTHROW; virtual qreal GetValue() const; virtual qreal* GetValue(); diff --git a/src/libs/vpatterndb/variables/vlineangle.cpp b/src/libs/vpatterndb/variables/vlineangle.cpp index 8a1eff46b..53b4c6256 100644 --- a/src/libs/vpatterndb/variables/vlineangle.cpp +++ b/src/libs/vpatterndb/variables/vlineangle.cpp @@ -77,6 +77,22 @@ VLineAngle &VLineAngle::operator=(const VLineAngle &var) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VLineAngle &VLineAngle::operator=(VLineAngle &&var) Q_DECL_NOTHROW +{ + Swap(var); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VLineAngle::Swap(VLineAngle &var) Q_DECL_NOTHROW +{ + VInternalVariable::Swap(var); + std::swap(d, var.d); +} + //--------------------------------------------------------------------------------------------------------------------- VLineAngle::~VLineAngle() {} diff --git a/src/libs/vpatterndb/variables/vlineangle.h b/src/libs/vpatterndb/variables/vlineangle.h index 874870678..34dff5c13 100644 --- a/src/libs/vpatterndb/variables/vlineangle.h +++ b/src/libs/vpatterndb/variables/vlineangle.h @@ -50,11 +50,10 @@ public: VLineAngle &operator=(const VLineAngle &var); #ifdef Q_COMPILER_RVALUE_REFS - VLineAngle &operator=(VLineAngle &&var) Q_DECL_NOTHROW { Swap(var); return *this; } + VLineAngle &operator=(VLineAngle &&var) Q_DECL_NOTHROW; #endif - inline void Swap(VLineAngle &var) Q_DECL_NOTHROW - { VInternalVariable::Swap(var); std::swap(d, var.d); } + void Swap(VLineAngle &var) Q_DECL_NOTHROW; virtual bool Filter(quint32 id) override; void SetValue(const VPointF *p1, const VPointF *p2); diff --git a/src/libs/vpatterndb/variables/vlinelength.cpp b/src/libs/vpatterndb/variables/vlinelength.cpp index 76578ad35..84319f4c9 100644 --- a/src/libs/vpatterndb/variables/vlinelength.cpp +++ b/src/libs/vpatterndb/variables/vlinelength.cpp @@ -75,6 +75,22 @@ VLengthLine &VLengthLine::operator=(const VLengthLine &var) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VLengthLine &VLengthLine::operator=(VLengthLine &&var) Q_DECL_NOTHROW +{ + Swap(var); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VLengthLine::Swap(VLengthLine &var) Q_DECL_NOTHROW +{ + VInternalVariable::Swap(var); + std::swap(d, var.d); +} + //--------------------------------------------------------------------------------------------------------------------- VLengthLine::~VLengthLine() {} diff --git a/src/libs/vpatterndb/variables/vlinelength.h b/src/libs/vpatterndb/variables/vlinelength.h index 31b787946..3b340b87a 100644 --- a/src/libs/vpatterndb/variables/vlinelength.h +++ b/src/libs/vpatterndb/variables/vlinelength.h @@ -52,11 +52,10 @@ public: VLengthLine &operator=(const VLengthLine &var); #ifdef Q_COMPILER_RVALUE_REFS - VLengthLine &operator=(VLengthLine &&var) Q_DECL_NOTHROW { Swap(var); return *this; } + VLengthLine &operator=(VLengthLine &&var) Q_DECL_NOTHROW; #endif - inline void Swap(VLengthLine &var) Q_DECL_NOTHROW - { VInternalVariable::Swap(var); std::swap(d, var.d); } + void Swap(VLengthLine &var) Q_DECL_NOTHROW; virtual bool Filter(quint32 id) override; void SetValue(const VPointF *p1, const VPointF *p2); diff --git a/src/libs/vpatterndb/variables/vmeasurement.cpp b/src/libs/vpatterndb/variables/vmeasurement.cpp index ce5934784..5e04d3f40 100644 --- a/src/libs/vpatterndb/variables/vmeasurement.cpp +++ b/src/libs/vpatterndb/variables/vmeasurement.cpp @@ -92,6 +92,22 @@ VMeasurement &VMeasurement::operator=(const VMeasurement &m) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VMeasurement &VMeasurement::operator=(VMeasurement &&m) Q_DECL_NOTHROW +{ + Swap(m); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VMeasurement::Swap(VMeasurement &m) Q_DECL_NOTHROW +{ + VVariable::Swap(m); + std::swap(d, m.d); +} + //--------------------------------------------------------------------------------------------------------------------- VMeasurement::~VMeasurement() {} diff --git a/src/libs/vpatterndb/variables/vmeasurement.h b/src/libs/vpatterndb/variables/vmeasurement.h index d9281225b..03ed4e80c 100644 --- a/src/libs/vpatterndb/variables/vmeasurement.h +++ b/src/libs/vpatterndb/variables/vmeasurement.h @@ -62,11 +62,10 @@ public: VMeasurement &operator=(const VMeasurement &m); #ifdef Q_COMPILER_RVALUE_REFS - VMeasurement &operator=(VMeasurement &&m) Q_DECL_NOTHROW { Swap(m); return *this; } + VMeasurement &operator=(VMeasurement &&m) Q_DECL_NOTHROW; #endif - inline void Swap(VMeasurement &m) Q_DECL_NOTHROW - { VVariable::Swap(m); std::swap(d, m.d); } + void Swap(VMeasurement &m) Q_DECL_NOTHROW; QString GetGuiText() const; diff --git a/src/libs/vpatterndb/variables/vvariable.cpp b/src/libs/vpatterndb/variables/vvariable.cpp index dd4adf4a3..4771a4734 100644 --- a/src/libs/vpatterndb/variables/vvariable.cpp +++ b/src/libs/vpatterndb/variables/vvariable.cpp @@ -63,6 +63,22 @@ VVariable &VVariable::operator=(const VVariable &var) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VVariable &VVariable::operator=(VVariable &&var) Q_DECL_NOTHROW +{ + Swap(var); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VVariable::Swap(VVariable &var) Q_DECL_NOTHROW +{ + VInternalVariable::Swap(var); + std::swap(d, var.d); +} + //--------------------------------------------------------------------------------------------------------------------- VVariable::~VVariable() {} diff --git a/src/libs/vpatterndb/variables/vvariable.h b/src/libs/vpatterndb/variables/vvariable.h index 1ebb5ae7e..c356b2de0 100644 --- a/src/libs/vpatterndb/variables/vvariable.h +++ b/src/libs/vpatterndb/variables/vvariable.h @@ -52,11 +52,10 @@ public: VVariable &operator=(const VVariable &var); #ifdef Q_COMPILER_RVALUE_REFS - VVariable &operator=(VVariable &&var) Q_DECL_NOTHROW { Swap(var); return *this; } + VVariable &operator=(VVariable &&var) Q_DECL_NOTHROW; #endif - inline void Swap(VVariable &var) Q_DECL_NOTHROW - { VInternalVariable::Swap(var); std::swap(d, var.d); } + void Swap(VVariable &var) Q_DECL_NOTHROW; QString GetDescription() const; void SetDescription(const QString &desc); diff --git a/src/libs/vpatterndb/vcontainer.cpp b/src/libs/vpatterndb/vcontainer.cpp index 45994e0a6..96b391b18 100644 --- a/src/libs/vpatterndb/vcontainer.cpp +++ b/src/libs/vpatterndb/vcontainer.cpp @@ -130,6 +130,21 @@ VContainer &VContainer::operator =(const VContainer &data) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VContainer &VContainer::operator=(VContainer &&data) Q_DECL_NOTHROW +{ + Swap(data); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VContainer::Swap(VContainer &data) Q_DECL_NOTHROW +{ + std::swap(d, data.d); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief VContainer create container from another container diff --git a/src/libs/vpatterndb/vcontainer.h b/src/libs/vpatterndb/vcontainer.h index 8819e4b47..e89c98240 100644 --- a/src/libs/vpatterndb/vcontainer.h +++ b/src/libs/vpatterndb/vcontainer.h @@ -131,11 +131,10 @@ public: VContainer &operator=(const VContainer &data); #ifdef Q_COMPILER_RVALUE_REFS - VContainer &operator=(VContainer &&data) Q_DECL_NOTHROW { Swap(data); return *this; } + VContainer &operator=(VContainer &&data) Q_DECL_NOTHROW; #endif - inline void Swap(VContainer &data) Q_DECL_NOTHROW - { std::swap(d, data.d); } + void Swap(VContainer &data) Q_DECL_NOTHROW; static QString UniqueNamespace(); diff --git a/src/libs/vpatterndb/vnodedetail.cpp b/src/libs/vpatterndb/vnodedetail.cpp index 4a8dd41f2..c2005d85c 100644 --- a/src/libs/vpatterndb/vnodedetail.cpp +++ b/src/libs/vpatterndb/vnodedetail.cpp @@ -122,6 +122,21 @@ VNodeDetail &VNodeDetail::operator =(const VNodeDetail &node) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VNodeDetail &VNodeDetail::operator=(VNodeDetail &&node) Q_DECL_NOTHROW +{ + Swap(node); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VNodeDetail::Swap(VNodeDetail &node) Q_DECL_NOTHROW +{ + std::swap(d, node.d); +} + //--------------------------------------------------------------------------------------------------------------------- VNodeDetail::~VNodeDetail() {} diff --git a/src/libs/vpatterndb/vnodedetail.h b/src/libs/vpatterndb/vnodedetail.h index 3aee56fac..cbce44e75 100644 --- a/src/libs/vpatterndb/vnodedetail.h +++ b/src/libs/vpatterndb/vnodedetail.h @@ -74,11 +74,10 @@ public: */ VNodeDetail &operator=(const VNodeDetail &node); #ifdef Q_COMPILER_RVALUE_REFS - VNodeDetail &operator=(VNodeDetail &&node) Q_DECL_NOTHROW { Swap(node); return *this; } + VNodeDetail &operator=(VNodeDetail &&node) Q_DECL_NOTHROW; #endif - inline void Swap(VNodeDetail &node) Q_DECL_NOTHROW - { std::swap(d, node.d); } + void Swap(VNodeDetail &node) Q_DECL_NOTHROW; /** * @brief getId return object id. diff --git a/src/libs/vpatterndb/vpiece.cpp b/src/libs/vpatterndb/vpiece.cpp index 5a667a1d4..e593d8f43 100644 --- a/src/libs/vpatterndb/vpiece.cpp +++ b/src/libs/vpatterndb/vpiece.cpp @@ -131,6 +131,22 @@ VPiece &VPiece::operator=(const VPiece &piece) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPiece &VPiece::operator=(VPiece &&piece) Q_DECL_NOTHROW +{ + Swap(piece); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPiece::Swap(VPiece &piece) Q_DECL_NOTHROW +{ + VAbstractPiece::Swap(piece); + std::swap(d, piece.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPiece::~VPiece() {} diff --git a/src/libs/vpatterndb/vpiece.h b/src/libs/vpatterndb/vpiece.h index c9618459f..5fd24fc1e 100644 --- a/src/libs/vpatterndb/vpiece.h +++ b/src/libs/vpatterndb/vpiece.h @@ -57,11 +57,10 @@ public: VPiece &operator=(const VPiece &piece); #ifdef Q_COMPILER_RVALUE_REFS - VPiece &operator=(VPiece &&piece) Q_DECL_NOTHROW { Swap(piece); return *this; } + VPiece &operator=(VPiece &&piece) Q_DECL_NOTHROW; #endif - inline void Swap(VPiece &piece) Q_DECL_NOTHROW - { VAbstractPiece::Swap(piece); std::swap(d, piece.d); } + void Swap(VPiece &piece) Q_DECL_NOTHROW; VPiecePath GetPath() const; VPiecePath &GetPath(); diff --git a/src/libs/vpatterndb/vpiecenode.cpp b/src/libs/vpatterndb/vpiecenode.cpp index 41cb4fff9..35fc73bf4 100644 --- a/src/libs/vpatterndb/vpiecenode.cpp +++ b/src/libs/vpatterndb/vpiecenode.cpp @@ -65,6 +65,21 @@ VPieceNode &VPieceNode::operator=(const VPieceNode &node) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPieceNode &VPieceNode::operator=(VPieceNode &&node) Q_DECL_NOTHROW +{ + Swap(node); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPieceNode::Swap(VPieceNode &node) Q_DECL_NOTHROW +{ + std::swap(d, node.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPieceNode::~VPieceNode() {} diff --git a/src/libs/vpatterndb/vpiecenode.h b/src/libs/vpatterndb/vpiecenode.h index 1cd8b0a5a..7de127e4e 100644 --- a/src/libs/vpatterndb/vpiecenode.h +++ b/src/libs/vpatterndb/vpiecenode.h @@ -49,11 +49,10 @@ public: VPieceNode &operator=(const VPieceNode &node); #ifdef Q_COMPILER_RVALUE_REFS - VPieceNode &operator=(VPieceNode &&node) Q_DECL_NOTHROW { Swap(node); return *this; } + VPieceNode &operator=(VPieceNode &&node) Q_DECL_NOTHROW; #endif - inline void Swap(VPieceNode &node) Q_DECL_NOTHROW - { std::swap(d, node.d); } + void Swap(VPieceNode &node) Q_DECL_NOTHROW; friend QDataStream& operator<<(QDataStream& out, const VPieceNode& p); friend QDataStream& operator>>(QDataStream& in, VPieceNode& p); diff --git a/src/libs/vpatterndb/vpiecepath.cpp b/src/libs/vpatterndb/vpiecepath.cpp index 19798849f..49505190f 100644 --- a/src/libs/vpatterndb/vpiecepath.cpp +++ b/src/libs/vpatterndb/vpiecepath.cpp @@ -218,6 +218,21 @@ VPiecePath &VPiecePath::operator=(const VPiecePath &path) return *this; } +#ifdef Q_COMPILER_RVALUE_REFS +//--------------------------------------------------------------------------------------------------------------------- +VPiecePath &VPiecePath::operator=(VPiecePath &&path) Q_DECL_NOTHROW +{ + Swap(path); + return *this; +} +#endif + +//--------------------------------------------------------------------------------------------------------------------- +void VPiecePath::Swap(VPiecePath &path) Q_DECL_NOTHROW +{ + std::swap(d, path.d); +} + //--------------------------------------------------------------------------------------------------------------------- VPiecePath::~VPiecePath() {} diff --git a/src/libs/vpatterndb/vpiecepath.h b/src/libs/vpatterndb/vpiecepath.h index ebd9cf212..6d1850050 100644 --- a/src/libs/vpatterndb/vpiecepath.h +++ b/src/libs/vpatterndb/vpiecepath.h @@ -54,11 +54,10 @@ public: VPiecePath &operator=(const VPiecePath &path); #ifdef Q_COMPILER_RVALUE_REFS - VPiecePath &operator=(VPiecePath &&path) Q_DECL_NOTHROW { Swap(path); return *this; } + VPiecePath &operator=(VPiecePath &&path) Q_DECL_NOTHROW; #endif - inline void Swap(VPiecePath &path) Q_DECL_NOTHROW - { std::swap(d, path.d); } + void Swap(VPiecePath &path) Q_DECL_NOTHROW; void Append(const VPieceNode &node); void Clear();