summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/plugin/quuid.cpp11
-rw-r--r--src/corelib/plugin/quuid.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp
index ad182eb9bf..6fca1b6709 100644
--- a/src/corelib/plugin/quuid.cpp
+++ b/src/corelib/plugin/quuid.cpp
@@ -927,4 +927,15 @@ QUuid QUuid::createUuid()
guid; otherwise returns false.
*/
+/**
+ Returns a hash of the QUuid
+ */
+uint qHash(const QUuid &uuid)
+{
+ return uuid.data1 ^ uuid.data2 ^ (uuid.data3 << 16)
+ ^ ((uuid.data4[0] << 24) | (uuid.data4[1] << 16) | (uuid.data4[2] << 8) | uuid.data4[3])
+ ^ ((uuid.data4[4] << 24) | (uuid.data4[5] << 16) | (uuid.data4[6] << 8) | uuid.data4[7]);
+}
+
+
QT_END_NAMESPACE
diff --git a/src/corelib/plugin/quuid.h b/src/corelib/plugin/quuid.h
index 28feff13d2..b941079df0 100644
--- a/src/corelib/plugin/quuid.h
+++ b/src/corelib/plugin/quuid.h
@@ -189,6 +189,8 @@ Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QUuid &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QUuid &);
#endif
+Q_CORE_EXPORT uint qHash(const QUuid &uuid);
+
QT_END_NAMESPACE
QT_END_HEADER