summaryrefslogtreecommitdiff
path: root/src/common/uuid.h
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2021-08-06 00:41:55 -0400
committerMorph <39850852+Morph1984@users.noreply.github.com>2021-08-06 00:41:55 -0400
commitd20c5ac720a0d26457c070b6d135c780af73107a (patch)
tree163d9f08b60a8d160a125d50012328fd97bc4bbb /src/common/uuid.h
parente1a92db519db43b365802e0065a9cb8927c241fd (diff)
common: uuid: Add hash function for UUID
Used when UUID is a key in an unordered_map. The hash is produced by XORing the high and low 64-bits of the UUID together.
Diffstat (limited to 'src/common/uuid.h')
-rw-r--r--src/common/uuid.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/common/uuid.h b/src/common/uuid.h
index aeb36939a..2353179d8 100644
--- a/src/common/uuid.h
+++ b/src/common/uuid.h
@@ -69,3 +69,14 @@ struct UUID {
static_assert(sizeof(UUID) == 16, "UUID is an invalid size!");
} // namespace Common
+
+namespace std {
+
+template <>
+struct hash<Common::UUID> {
+ size_t operator()(const Common::UUID& uuid) const noexcept {
+ return uuid.uuid[1] ^ uuid.uuid[0];
+ }
+};
+
+} // namespace std