25#ifndef LIBS_KIMATH_INCLUDE_HASH_H_
26#define LIBS_KIMATH_INCLUDE_HASH_H_
43template<
typename T,
typename ... Types >
44static inline 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 std::size_t
hash_val(
const Types &... args )
53 std::size_t seed = 0xa82de1c0;
static std::size_t hash_val(const Types &... args)
static void hash_combine(std::size_t &seed)
This is a dummy function to take the final case of hash_combine below.