2
3
4
5
6
7
8
9
10
11
12
13
14
15
17#ifndef IPADDRESS_HASH_HPP
18#define IPADDRESS_HASH_HPP
30struct hash_combine<4> {
42struct hash_combine<8> {
45 value *= 0xe9846af9b1a615d;
47 value *= 0xe9846af9b1a615d;
54 const hash_combine<
sizeof(size_t)> hash{};
55 return hash(seed + 0x9e3779b9 + value);
58template <
typename Arg>
60 return hash_sum(seed, arg);
63template <
typename Arg,
typename... Args>
65 seed = hash_sum(seed, size_t(arg));
66 return calc_hash(seed, args...);
#define IPADDRESS_NODISCARD
Definition config.hpp:98
#define IPADDRESS_FORCE_INLINE
Definition config.hpp:112
#define IPADDRESS_NAMESPACE
Definition config.hpp:38
#define IPADDRESS_NOEXCEPT
Definition config.hpp:89