29 template<concepts::IntegralOrEnum T>
32 hasher.write(bytes.span());
35 template<concepts::Hasher Hasher,
typename T>
37 constexpr void operator()(Hasher& hasher, T
const& value)
const {
63 for (
auto const& element : value) {
69 template<
typename Idx>
72 template<
usize... indices>
74 template<concepts::Tuple T>
81template<concepts::TupleLike T, concepts::Hasher H>
82requires(!HashableContainer<T> &&
83 detail::HashableTuple<meta::MakeIndexSequence<meta::TupleSize<T>>>()(
in_place_type<T>))
Definition span_forward_declaration.h:10
Definition forward_container.h:8
Definition hash_write.h:48
Definition tag_invoke.h:33
Definition hash_write.h:60
Definition any_storable.h:9
Definition hash_write.h:68
constexpr auto data
Definition data.h:51
constexpr auto hash_write
Definition hash_write.h:43
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
std::byte byte
Definition byte.h:64
size_t usize
Definition integers.h:33
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr void tuple_for_each(F &&function, Tup &&tuple)
Definition tuple_for_each.h:22
Definition zstring_parser.h:9
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto in_place_type
Definition in_place_type.h:12
Definition default_hasher.h:7
Definition hash_write.h:24
constexpr void operator()(concepts::Hasher auto &hasher, T value) const
Definition hash_write.h:30
constexpr void operator()(concepts::Hasher auto &hasher, vocab::Span< byte const > data) const
Definition hash_write.h:25
Definition hash_write.h:70
constexpr auto operator()(InPlaceType< T >) const -> bool
Definition hash_write.h:75
Definition in_place_type.h:5
Definition span_fixed_size.h:37