18#ifndef MCRL2_UTILITIES_HASH_UTILITY_H
19#define MCRL2_UTILITIES_HASH_UTILITY_H
32inline std::size_t
hash_combine(
const std::size_t h1,
const std::size_t h2)
35 return h1 ^ (h2 + 0x9e3779b9 + (h1<<6) + (h1>>2));
45 return hash_number + (seed << 1) + (seed >> 1);
71template <
class X,
class Y>
80 for(
const std::pair< X, Y>& p: v)
90template <
class X,
class Y>
95 std::size_t
operator()(
const std::pair < X, Y >& p)
const
std::size_t hash_combine(const std::size_t h1, const std::size_t h2)
std::size_t hash_combine_cheap(const std::size_t seed, const std::size_t hash_number)
Auxiliary function to combine seed with a hash number.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
std::size_t operator()(const std::map< X, Y > &v) const
std::size_t operator()(const std::pair< X, Y > &p) const
std::size_t operator()(const std::vector< X > &v) const