29 #ifndef AURORA_HASH_HPP
30 #define AURORA_HASH_HPP
50 return hasher(
object);
58 return hashValue(
static_cast<typename std::underlying_type<T>::type
>(enumerator));
67 seed ^=
hashValue(
object) + 0x9e3779b9u + (seed << 6) + (seed >> 2);
72 template <
typename Itr>
73 void hashRange(std::size_t& seed, Itr begin, Itr end)
75 for (; begin != end; ++begin)
83 template <
typename T,
typename U>
84 std::size_t operator() (
const std::pair<T, U>& pair)
const
86 std::size_t hash = 0u;
98 #endif // AURORA_HASH_HPP
Utilities for template metaprogramming.
Hash object for std::pair.
Definition: Hash.hpp:81
Definition: DispatchTraits.hpp:39