#pragma once #include #include "XXHash.h" template struct HashComparer { constexpr static uint64_t GetHashCode(TType& Value) { if constexpr (std::is_arithmetic::value) return Hashing::XXHash::HashValue(Value); else if constexpr (std::is_enum::value) return Hashing::XXHash::HashValue((uint32_t)Value); else if constexpr (std::is_same::value) return Hashing::XXHash::HashString(Value); } constexpr static bool Equals(TType& Lhs, TType& Rhs) { return (Lhs == Rhs); } };