45 seed ^= hasher(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
64 for (; first != last; ++first) {
72struct hash : std::hash<T> {};
75template <
typename T, std::
size_t N>
76struct hash<std::array<T, N>> {
77 std::size_t
operator()(std::array<T, N>
const &a)
const {
83struct hash<std::vector<T>> {
88struct hash<std::complex<T>> {
102 return std::hash<char>{}(
static_cast<char>(parity));
void hash_combine(std::size_t &seed, T const &v)
Combine hashes.
std::size_t hash_range(It first, It last)
Combine hashes of values in a range.
std::size_t operator()(const Parity &parity) const
std::size_t operator()(std::array< T, N > const &a) const
std::size_t operator()(std::complex< T > const &c) const
std::size_t operator()(std::vector< T > const &v) const