diff options
-rw-r--r-- | src/corelib/tools/qrect.h | 7 | ||||
-rw-r--r-- | src/corelib/tools/qsize.h | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h index 4fd9e7c0c9..b07e134dd7 100644 --- a/src/corelib/tools/qrect.h +++ b/src/corelib/tools/qrect.h @@ -40,6 +40,7 @@ #ifndef QRECT_H #define QRECT_H +#include <QtCore/qhashfunctions.h> #include <QtCore/qmargins.h> #include <QtCore/qsize.h> #include <QtCore/qpoint.h> @@ -147,6 +148,7 @@ public: friend Q_DECL_CONSTEXPR inline bool operator==(const QRect &, const QRect &) noexcept; friend Q_DECL_CONSTEXPR inline bool operator!=(const QRect &, const QRect &) noexcept; + friend Q_DECL_CONSTEXPR inline size_t qHash(const QRect &, size_t) noexcept; #if defined(Q_OS_DARWIN) || defined(Q_QDOC) Q_REQUIRED_RESULT CGRect toCGRect() const noexcept; @@ -456,6 +458,11 @@ Q_DECL_CONSTEXPR inline bool operator!=(const QRect &r1, const QRect &r2) noexce return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; } +Q_DECL_CONSTEXPR inline size_t qHash(const QRect &r, size_t seed = 0) noexcept +{ + return qHashMulti(seed, r.x1, r.x2, r.y1, r.y2); +} + Q_DECL_CONSTEXPR inline QRect operator+(const QRect &rectangle, const QMargins &margins) noexcept { return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h index 06de1cd63f..da778954ed 100644 --- a/src/corelib/tools/qsize.h +++ b/src/corelib/tools/qsize.h @@ -41,6 +41,7 @@ #define QSIZE_H #include <QtCore/qnamespace.h> +#include <QtCore/qhashfunctions.h> #include <QtCore/qmargins.h> #if defined(Q_OS_DARWIN) || defined(Q_QDOC) @@ -90,6 +91,7 @@ public: friend inline Q_DECL_CONSTEXPR bool operator==(const QSize &, const QSize &) noexcept; friend inline Q_DECL_CONSTEXPR bool operator!=(const QSize &, const QSize &) noexcept; + friend inline Q_DECL_CONSTEXPR size_t qHash(const QSize &, size_t) noexcept; friend inline Q_DECL_CONSTEXPR const QSize operator+(const QSize &, const QSize &) noexcept; friend inline Q_DECL_CONSTEXPR const QSize operator-(const QSize &, const QSize &) noexcept; friend inline Q_DECL_CONSTEXPR const QSize operator*(const QSize &, qreal) noexcept; @@ -178,6 +180,9 @@ Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) noexce Q_DECL_CONSTEXPR inline bool operator!=(const QSize &s1, const QSize &s2) noexcept { return s1.wd != s2.wd || s1.ht != s2.ht; } +Q_DECL_CONSTEXPR inline size_t qHash(const QSize &s, size_t seed = 0) noexcept +{ return qHashMulti(seed, s.wd, s.ht); } + Q_DECL_CONSTEXPR inline const QSize operator+(const QSize & s1, const QSize & s2) noexcept { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } |