43 #ifndef LIB_HASH_COMBINE_H 44 #define LIB_HASH_COMBINE_H 47 #include "lib/integral.hpp" 60 combine (
size_t & combinedHash,
size_t additionalHash)
63 combinedHash ^= additionalHash 82 static_assert (
sizeof (
void*) * CHAR_BIT == 64,
"TODO 2024 : decide what to do about portability");
83 static_assert (
sizeof (
size_t) ==
sizeof(uint64_t));
85 uint64_t& h = combinedHash;
86 uint64_t k = additionalHash;
88 const uint64_t m{0xc6a4a7935bd1e995};
void combine(size_t &combinedHash, size_t additionalHash)
meld the additional hash value into the given base hash value.
Implementation namespace for support and library code.
Hash value types and utilities.