diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-02-14 16:16:56 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-05-12 01:51:20 +0200 |
commit | 707129fd5a7c6390fbdf4270119226df2a427fcd (patch) | |
tree | 3394b456eae374078330684d0523b7874ac630de /src/gui/text/qfontengine_p.h | |
parent | 2844631aa977fb1619ec3910090d1bdd4c7459c2 (diff) |
Long live qHashMulti(Commutative)
Add a helper function so that we have a shortcut.
Instead of writing:
QHashCombine hash;
seed = hash(seed, fieldA);
seed = hash(seed, fieldB);
// etc.
return seed;
one can now simply write:
return qHashMulti(seed, fieldA, fieldB, fieldC);
Port a few usages inside qtbase as a demonstration.
[ChangeLog][QtCore][QHash] Added the qHashMulti and
qHashMultiCommutative functions as convenience helpers
to calculate a hash from multiple variables (typically,
data members of a class).
Change-Id: I881a9ad41168df20ceecc6588a94abe7ddc6a532
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/gui/text/qfontengine_p.h')
-rw-r--r-- | src/gui/text/qfontengine_p.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index cbfc985eec..7a0ccca6a0 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -410,12 +410,7 @@ inline bool operator ==(const QFontEngine::FaceId &f1, const QFontEngine::FaceId inline size_t qHash(const QFontEngine::FaceId &f, size_t seed = 0) noexcept(noexcept(qHash(f.filename))) { - QtPrivate::QHashCombine hash; - seed = hash(seed, f.filename); - seed = hash(seed, f.uuid); - seed = hash(seed, f.index); - seed = hash(seed, f.encoding); - return seed; + return qHashMulti(seed, f.filename, f.uuid, f.index, f.encoding); } |