32 seed ^= std::hash<T>()(val) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
42template <
typename... Types>
66 [[maybe_unused]] std::size_t
operator()(pair<pbat::Index, pbat::Index>
const& inds)
const
83 [[maybe_unused]] std::size_t
operator()(tuple<pbat::Index, pbat::Index>
const& inds)
const
100 [[maybe_unused]] std::size_t
101 operator()(tuple<pbat::Index, pbat::Index, pbat::Index>
const& inds)
const
111struct hash<
pbat::IndexVector<2>>
128struct hash<
pbat::IndexVector<3>>
Common functionality.
Definition ArgSort.h:20
std::size_t HashCombine(Types const &... args)
Combine hash values of multiple arguments.
Definition Hash.h:43
void HashCombineAccumulate(std::size_t &seed, T const &val)
Incrementally combine hash values of multiple arguments.
Definition Hash.h:30
The main namespace of the library.
Definition Aliases.h:15
Eigen::Vector< Index, N > IndexVector
Fixed-size index vector type.
Definition Aliases.h:40
std::ptrdiff_t Index
Index type.
Definition Aliases.h:17
std::size_t operator()(pair< pbat::Index, pbat::Index > const &inds) const
Hash function for pair of Index.
Definition Hash.h:66
std::size_t operator()(pbat::IndexVector< 2 > const &inds) const
Hash function for pbat::IndexVector<2>
Definition Hash.h:118
std::size_t operator()(pbat::IndexVector< 3 > const &inds) const
Hash function for pbat::IndexVector<3>
Definition Hash.h:135
std::size_t operator()(tuple< pbat::Index, pbat::Index, pbat::Index > const &inds) const
Hash function for 3-tuple of Index.
Definition Hash.h:101
std::size_t operator()(tuple< pbat::Index, pbat::Index > const &inds) const
Hash function for 2-tuple of Index.
Definition Hash.h:83