summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@nokia.com>2012-07-06 15:12:41 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-12 01:46:20 +0200
commit623bfe209371b6d35d030a66629b58f0f4f27b0d (patch)
treef4e710544947c86ad95df98101dce2411570f5f9 /src/corelib
parent74b0206a714a32102a7ea5dcc6dad580bd4a600c (diff)
Add unary operator+ to QPoint and QPointF.
As requested by Winfried Schenke: "QPoint should have an unary operator+ (the unary operator- exists). Classes with arithmetic operators should provide a complete set of operators, because some template code relies on it." Task-number: QTBUG-22913 Change-Id: Ib0c5105975f56c15f00bb48d83c8d911f5a204ac Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/tools/qpoint.cpp16
-rw-r--r--src/corelib/tools/qpoint.h10
2 files changed, 26 insertions, 0 deletions
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index 368ef7d697..785e255db5 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -326,6 +326,14 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \fn const QPoint operator+(const QPoint &point)
+ \relates QPoint
+ \since 5.0
+
+ Returns \a point unmodified.
+*/
+
+/*!
\fn const QPoint operator-(const QPoint &point)
\overload
\relates QPoint
@@ -664,6 +672,14 @@ QDebug operator<<(QDebug d, const QPointF &p)
*/
/*!
+ \fn const QPointF operator+(const QPointF &point)
+ \relates QPointF
+ \since 5.0
+
+ Returns \a point unmodified.
+*/
+
+/*!
\fn const QPointF operator-(const QPointF &point)
\relates QPointF
\overload
diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h
index be9567bc52..dc38ec622a 100644
--- a/src/corelib/tools/qpoint.h
+++ b/src/corelib/tools/qpoint.h
@@ -86,6 +86,7 @@ public:
friend Q_DECL_CONSTEXPR inline const QPoint operator*(double, const QPoint &);
friend Q_DECL_CONSTEXPR inline const QPoint operator*(const QPoint &, int);
friend Q_DECL_CONSTEXPR inline const QPoint operator*(int, const QPoint &);
+ friend Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &);
friend Q_DECL_CONSTEXPR inline const QPoint operator-(const QPoint &);
friend Q_DECL_CONSTEXPR inline const QPoint operator/(const QPoint &, qreal);
@@ -182,6 +183,9 @@ Q_DECL_CONSTEXPR inline const QPoint operator*(double factor, const QPoint &p)
Q_DECL_CONSTEXPR inline const QPoint operator*(int factor, const QPoint &p)
{ return QPoint(p.xp*factor, p.yp*factor); }
+Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &p)
+{ return p; }
+
Q_DECL_CONSTEXPR inline const QPoint operator-(const QPoint &p)
{ return QPoint(-p.xp, -p.yp); }
@@ -235,6 +239,7 @@ public:
friend Q_DECL_CONSTEXPR inline const QPointF operator-(const QPointF &, const QPointF &);
friend Q_DECL_CONSTEXPR inline const QPointF operator*(qreal, const QPointF &);
friend Q_DECL_CONSTEXPR inline const QPointF operator*(const QPointF &, qreal);
+ friend Q_DECL_CONSTEXPR inline const QPointF operator+(const QPointF &);
friend Q_DECL_CONSTEXPR inline const QPointF operator-(const QPointF &);
friend Q_DECL_CONSTEXPR inline const QPointF operator/(const QPointF &, qreal);
@@ -355,6 +360,11 @@ Q_DECL_CONSTEXPR inline const QPointF operator*(qreal c, const QPointF &p)
return QPointF(p.xp*c, p.yp*c);
}
+Q_DECL_CONSTEXPR inline const QPointF operator+(const QPointF &p)
+{
+ return p;
+}
+
Q_DECL_CONSTEXPR inline const QPointF operator-(const QPointF &p)
{
return QPointF(-p.xp, -p.yp);