18 #ifndef LIBMESH_HASHING_H 19 #define LIBMESH_HASHING_H 30 seed ^=
value + 0x9e3779b9 + (seed<<6) + (seed>>2);
46 template <
typename T1,
typename T2>
47 std::size_t
operator()(
const std::pair<T1, T2> & x)
const 52 std::size_t returnval =
hash<T1>()(x.first);
58 template <
typename T, std::
size_t N>
64 std::size_t returnval = 0;
65 for (std::size_t i = 0; i != N; ++i)
75 #endif // LIBMESH_HASHING_H void hash_combine_impl(std::size_t &seed, std::size_t value)
void hash_combine(std::size_t &seed, const T &value)
The libMesh namespace provides an interface to certain functionality in the library.
std::size_t operator()(const std::pair< T1, T2 > &x) const
std::size_t operator()(const std::array< T, N > &x) const