Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
std-hash.hh
Go to the documentation of this file.
1#pragma once
8
9#include <functional>
10
11namespace nix {
12
17inline void hash_combine(std::size_t & seed) {}
18
19template<typename T, typename... Rest>
20inline void hash_combine(std::size_t & seed, const T & v, Rest... rest)
21{
22 std::hash<T> hasher;
23 seed ^= hasher(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
24 hash_combine(seed, rest...);
25}
26
27} // namespace nix
std::hash< T > hasher
Definition lexer.l:4637
void hash_combine(std::size_t &seed)
Definition std-hash.hh:17