From f27a4fa26d9e8ac222d1365f096d59ca3b1a939c Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 19 Aug 2023 15:20:21 +0300 Subject: [PATCH] Add util::uuid --- libs/util/include/psemek/util/uuid.hpp | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 libs/util/include/psemek/util/uuid.hpp diff --git a/libs/util/include/psemek/util/uuid.hpp b/libs/util/include/psemek/util/uuid.hpp new file mode 100644 index 00000000..980ea8b8 --- /dev/null +++ b/libs/util/include/psemek/util/uuid.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include + +#include +#include + +namespace psemek::util +{ + + using uuid = std::array; + + static_assert(sizeof(uuid) == 16); + static_assert(alignof(uuid) == 8); + +} + +namespace std +{ + + template <> + struct hash<::psemek::util::uuid> + { + std::size_t operator()(::psemek::util::uuid const & uuid) const noexcept + { + std::size_t result = uuid[0]; + ::psemek::util::hash_combine(result, uuid[1]); + return result; + } + }; + +}