Files
Z3D/include/util/array_hash.hpp
2025-04-01 21:51:56 +02:00

18 lines
340 B
C++

#pragma once
#include <array>
#include <memory>
template<class T, size_t N>
struct std::hash<std::array<T, N>>
{
auto operator() (const std::array<T, N>& key) const {
auto hasher = std::hash<T>{};
auto result = std::size_t{};
for (const auto& element : key)
{
result = result * 31 + hasher(element);
}
return result;
}
};