diff --git a/src/corelib/io/qurlquery.cpp b/src/corelib/io/qurlquery.cpp index 70303273045..e4b6da4cae1 100644 --- a/src/corelib/io/qurlquery.cpp +++ b/src/corelib/io/qurlquery.cpp @@ -428,11 +428,8 @@ bool comparesEqual(const QUrlQuery &lhs, const QUrlQuery &rhs) size_t qHash(const QUrlQuery &key, size_t seed) noexcept { if (const QUrlQueryPrivate *d = key.d) { - QtPrivate::QHashCombine hash; // keep in sync with operator==: - seed = hash(seed, d->valueDelimiter); - seed = hash(seed, d->pairDelimiter); - seed = hash(seed, d->itemList); + return qHashMulti(seed, d->valueDelimiter, d->pairDelimiter, d->itemList); } return seed; } diff --git a/src/corelib/itemmodels/qitemselectionmodel.cpp b/src/corelib/itemmodels/qitemselectionmodel.cpp index 3caf7b3405e..3c84e8797d0 100644 --- a/src/corelib/itemmodels/qitemselectionmodel.cpp +++ b/src/corelib/itemmodels/qitemselectionmodel.cpp @@ -1813,10 +1813,7 @@ struct RowOrColumnDefinition { }; size_t qHash(const RowOrColumnDefinition &key, size_t seed = 0) noexcept { - QtPrivate::QHashCombine hash; - seed = hash(seed, key.parent); - seed = hash(seed, key.rowOrColumn); - return seed; + return qHashMulti(seed, key.parent, key.rowOrColumn); } QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH_BY_CREF(RowOrColumnDefinition) diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp index 2e61ed7460d..fed1811af22 100644 --- a/src/corelib/serialization/qcborvalue.cpp +++ b/src/corelib/serialization/qcborvalue.cpp @@ -3192,12 +3192,8 @@ size_t qHash(const QCborValue &value, size_t seed) return qHash(value.toArray(), seed); case QCborValue::Map: return qHash(value.toMap(), seed); - case QCborValue::Tag: { - QtPrivate::QHashCombine hash; - seed = hash(seed, value.tag()); - seed = hash(seed, value.taggedValue()); - return seed; - } + case QCborValue::Tag: + return qHashMulti(seed, value.tag(), value.taggedValue()); case QCborValue::SimpleType: break; case QCborValue::False: diff --git a/src/corelib/tools/qversionnumber.cpp b/src/corelib/tools/qversionnumber.cpp index 57cfc1767f1..97a7dbdfa9c 100644 --- a/src/corelib/tools/qversionnumber.cpp +++ b/src/corelib/tools/qversionnumber.cpp @@ -576,10 +576,7 @@ QDebug operator<<(QDebug debug, const QVersionNumber &version) */ size_t qHash(const QVersionNumber &key, size_t seed) { - QtPrivate::QHashCombine hash; - for (int i = 0; i < key.segmentCount(); ++i) - seed = hash(seed, key.segmentAt(i)); - return seed; + return qHashRange(key.begin(), key.end(), seed); } QT_END_NAMESPACE diff --git a/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp b/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp index a4468e23a30..dec0f15ba39 100644 --- a/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp +++ b/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp @@ -23,7 +23,7 @@ public: // random values static constexpr quint64 ZeroSeed = 0; static constexpr quint64 RandomSeed32 = 1045982819; - static constexpr quint64 RandomSeed64 = QtPrivate::QHashCombine{}(RandomSeed32, RandomSeed32); + static constexpr quint64 RandomSeed64 = qHashMulti(0, RandomSeed32, RandomSeed32); size_t seed; template void stdPair_template(const T1 &t1, const T2 &t2); diff --git a/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.cpp b/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.cpp index 2159cfaf83c..6aa6d1f7e8c 100644 --- a/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.cpp +++ b/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.cpp @@ -12,7 +12,7 @@ #include static constexpr quint64 RandomSeed32 = 1045982819; -static constexpr quint64 RandomSeed64 = QtPrivate::QHashCombine{}(RandomSeed32, RandomSeed32); +static constexpr quint64 RandomSeed64 = qHashMulti(0, RandomSeed32, RandomSeed32); class tst_QHash : public QObject {