Add util::hash_sequence

This commit is contained in:
Nikita Lisitsa 2022-10-27 17:50:41 +03:00
parent 82607781cf
commit 24917370ea

View file

@ -16,6 +16,15 @@ namespace psemek::util
seed = b * k;
}
template <typename Iterator, typename Hash = std::hash<std::decay_t<decltype(*std::declval<Iterator>())>>>
void hash_sequence(std::size_t & seed, Iterator begin, Iterator end, Hash hash = Hash{})
{
for (; begin != end; ++begin)
{
hash_combine(seed, hash(*begin));
}
}
struct any_hash
{
struct is_transparent{};