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.
master
Morph 2021-08-06 00:41:55 +07:00
parent e1a92db519
commit d20c5ac720
1 changed files with 11 additions and 0 deletions

@ -69,3 +69,14 @@ struct UUID {
static_assert(sizeof(UUID) == 16, "UUID is an invalid size!"); static_assert(sizeof(UUID) == 16, "UUID is an invalid size!");
} // namespace Common } // 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