#include "di/container/concepts/forward_container.h"#include "di/container/hash/default_hasher.h"#include "di/container/hash/hasher.h"#include "di/container/meta/container_reference.h"#include "di/function/bind_front.h"#include "di/function/tag_invoke.h"#include "di/meta/algorithm.h"#include "di/meta/constexpr.h"#include "di/meta/language.h"#include "di/meta/vocab.h"#include "di/types/prelude.h"#include "di/util/bit_cast.h"#include "di/util/declval.h"#include "di/util/reference_wrapper.h"#include "di/vocab/array/array.h"#include "di/vocab/tuple/tuple_for_each.h"#include "di/vocab/tuple/tuple_like.h"#include "di/vocab/tuple/tuple_value.h"Go to the source code of this file.
Namespaces | |
| namespace | di |
| namespace | di::container |
| namespace | di::container::detail |
| namespace | di::concepts |
| namespace | di::meta |
| namespace | di::container::detail::detail |
Concepts | |
| concept | di::concepts::Hashable |
| concept | di::container::detail::HashableContainer |
Functions | |
| constexpr void | di::container::detail::tag_invoke (types::Tag< hash_write >, concepts::Hasher auto &hasher, HashableContainer auto const &value) |
| template<concepts::TupleLike T, concepts::Hasher H> requires (!HashableContainer<T> && detail::HashableTuple<meta::MakeIndexSequence<meta::TupleSize<T>>>()(in_place_type<T>)) | |
| constexpr auto | di::container::detail::tag_invoke (types::Tag< hash_write >, H &hasher, T const &value) |
Variables | |
| constexpr auto | di::container::hash_write = detail::HashWriteFunction {} |
| constexpr auto | di::hash_write |