Iros
 
Loading...
Searching...
No Matches
hash.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace di::container {
6namespace detail {
7 struct HashFunction {
8 constexpr auto operator()(concepts::Hashable auto const& value) const -> u64 {
9 auto hasher = DefaultHasher {};
10 container::hash_write(hasher, value);
11 return hasher.finish();
12 }
13
14 constexpr auto operator()(concepts::Hasher auto& hasher, concepts::Hashable auto const& value) const -> u64 {
15 container::hash_write(hasher, value);
16 return hasher.finish();
17 }
18 };
19}
20
21constexpr inline auto hash = detail::HashFunction {};
22}
23
24namespace di {
25using container::hash;
26}
Definition hash_write.h:48
Definition hasher.h:8
Definition sequence.h:13
Definition sequence.h:12
constexpr auto hash
Definition hash.h:21
constexpr auto hash_write
Definition hash_write.h:43
__UINT64_TYPE__ u64
Definition integers.h:12
Definition zstring_parser.h:9
Definition default_hasher.h:7
constexpr auto operator()(concepts::Hashable auto const &value) const -> u64
Definition hash.h:8
constexpr auto operator()(concepts::Hasher auto &hasher, concepts::Hashable auto const &value) const -> u64
Definition hash.h:14