diff --git a/libs/util/include/psemek/util/hash.hpp b/libs/util/include/psemek/util/hash.hpp index 3e53bf22..3a05a1f9 100644 --- a/libs/util/include/psemek/util/hash.hpp +++ b/libs/util/include/psemek/util/hash.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include @@ -64,6 +65,20 @@ namespace std } }; + template + struct hash> + : std::hash + { + using std::hash::operator(); + + std::uint64_t operator()(std::array const & x) const + { + std::uint64_t seed = 0; + ::psemek::util::hash_sequence(seed, x.begin(), x.end(), *this); + return seed; + } + }; + template struct hash> : std::tuple...>