QOpenGLVersionStatus: add constexpr

Also dropped two redundant qMakePair() calls.

Change-Id: I7266ac9a3354ef4f60bf921fc0cd5d5a33c75b93
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
This commit is contained in:
Marc Mutz 2014-08-08 10:42:57 +02:00 committed by Oswald Buddenhagen
parent e41b45f1ae
commit d1ede822d8

View File

@ -77,13 +77,13 @@ struct QOpenGLVersionStatus
InvalidStatus InvalidStatus
}; };
QOpenGLVersionStatus() Q_DECL_CONSTEXPR QOpenGLVersionStatus()
: version(qMakePair(0, 0)), : version(0, 0),
status(InvalidStatus) status(InvalidStatus)
{} {}
QOpenGLVersionStatus(int majorVersion, int minorVersion, QOpenGLVersionStatus::OpenGLStatus functionStatus) Q_DECL_CONSTEXPR QOpenGLVersionStatus(int majorVersion, int minorVersion, QOpenGLVersionStatus::OpenGLStatus functionStatus)
: version(qMakePair(majorVersion, minorVersion)), : version(majorVersion, minorVersion),
status(functionStatus) status(functionStatus)
{} {}
@ -91,20 +91,18 @@ struct QOpenGLVersionStatus
OpenGLStatus status; OpenGLStatus status;
}; };
inline uint qHash(const QOpenGLVersionStatus &v, uint seed = 0) inline uint qHash(const QOpenGLVersionStatus &v, uint seed = 0) Q_DECL_NOTHROW
{ {
return qHash(static_cast<int>(v.status * 1000) return qHash(static_cast<int>(v.status * 1000)
+ v.version.first * 100 + v.version.second * 10, seed); + v.version.first * 100 + v.version.second * 10, seed);
} }
inline bool operator==(const QOpenGLVersionStatus &lhs, const QOpenGLVersionStatus &rhs) Q_DECL_CONSTEXPR inline bool operator==(const QOpenGLVersionStatus &lhs, const QOpenGLVersionStatus &rhs)
{ {
if (lhs.status != rhs.status) return lhs.status == rhs.status && lhs.version == rhs.version;
return false;
return lhs.version == rhs.version;
} }
inline bool operator!=(const QOpenGLVersionStatus &lhs, const QOpenGLVersionStatus &rhs) Q_DECL_CONSTEXPR inline bool operator!=(const QOpenGLVersionStatus &lhs, const QOpenGLVersionStatus &rhs)
{ {
return !operator==(lhs, rhs); return !operator==(lhs, rhs);
} }