| 113 | // Hashing. |
| 114 | |
| 115 | inline std::size_t |
| 116 | hash_combine_(std::size_t seed, std::size_t value) noexcept |
| 117 | { |
| 118 | return seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2); |
| 119 | } |
| 120 | |
| 121 | // Why on earth!? It turns out that Clang's unique_ptr is (at least |
| 122 | // sometimes) the size of two pointers, which is simply unreasonable. |