diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-10-27 23:59:16 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-10-29 08:51:44 +0100 |
commit | 7372dde4ec6cb32448ea026f48b5f5ea517f778d (patch) | |
tree | 3600af1e40442b8ff5a320c60cf37427848fb4b8 /src/gui/math3d/qquaternion.h | |
parent | 2222e695fcb547ed6c08f290b3b34bf36013eaad (diff) |
Math 3D classes: make comparison operators hidden friends
Reduce ADL noise from QVector2/3/4D and from QQuaternion. Also mark as
noexcept.
Task-number: QTBUG-87973
Change-Id: Id14fd17c0da43517766b218ed85c3b41f91b43c8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gui/math3d/qquaternion.h')
-rw-r--r-- | src/gui/math3d/qquaternion.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h index be8951145d..99ee9085f9 100644 --- a/src/gui/math3d/qquaternion.h +++ b/src/gui/math3d/qquaternion.h @@ -105,8 +105,18 @@ public: QQuaternion &operator*=(const QQuaternion &quaternion); QQuaternion &operator/=(float divisor); - friend inline bool operator==(const QQuaternion &q1, const QQuaternion &q2); - friend inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2); +QT_WARNING_PUSH +QT_WARNING_DISABLE_FLOAT_COMPARE + friend inline bool operator==(const QQuaternion &q1, const QQuaternion &q2) noexcept + { + return q1.wp == q2.wp && q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp; + } + friend inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2) noexcept + { + return !(q1 == q2); + } +QT_WARNING_POP + friend inline const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2); friend inline const QQuaternion operator-(const QQuaternion &q1, const QQuaternion &q2); friend inline const QQuaternion operator*(float factor, const QQuaternion &quaternion); @@ -177,11 +187,6 @@ inline bool QQuaternion::isIdentity() const { return wp == 1.0f && xp == 0.0f && yp == 0.0f && zp == 0.0f; } - -inline bool operator==(const QQuaternion &q1, const QQuaternion &q2) -{ - return q1.wp == q2.wp && q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp; -} QT_WARNING_POP inline float QQuaternion::x() const { return xp; } @@ -275,11 +280,6 @@ inline QQuaternion &QQuaternion::operator/=(float divisor) return *this; } -inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2) -{ - return !operator==(q1, q2); -} - inline const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2) { return QQuaternion(q1.wp + q2.wp, q1.xp + q2.xp, q1.yp + q2.yp, q1.zp + q2.zp); |