43template <
typename T,
typename... Types>
44static inline constexpr void hash_combine( std::size_t& seed,
const T& val,
const Types&... args )
46 seed ^= std::hash<T>()( val ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 );
50template <
typename... Types>
51static inline constexpr std::size_t
hash_val(
const Types&... args )
53 std::size_t seed = 0xa82de1c0;
static constexpr void hash_combine(std::size_t &seed)
This is a dummy function to take the final case of hash_combine below.
static constexpr std::size_t hash_val(const Types &... args)