Hashing utilities

template<typename T>
concept hashable

Concept describing types on which std::hash is applicable.

template<>
size_t hash(hashable... args)
template<std::ranges::range R>
size_t hash(R const &arg)
template<TupleLike T>
size_t hash(T const &arg)

A wrapper around std::hash that computes the hash of a value or a sequence of values, taken from, respectively:

  1. a variadic list of hashable arguments

  2. a range of hashable types

  3. a tuple-like object whose components are hashable