Iros
 
Loading...
Searching...
No Matches
node_hash_multiset.h
Go to the documentation of this file.
1#pragma once
2
16#include "di/function/compare.h"
17#include "di/function/equal.h"
18#include "di/platform/prelude.h"
21
22namespace di::container {
23template<typename Value, typename Eq = function::Equal, concepts::Hasher Hasher = DefaultHasher,
24 typename Buckets = container::Vector<
26 concepts::Allocator Alloc = platform::DefaultAllocator>
28 : public OwningNodeHashTable<
29 Value, Eq, Hasher, Buckets, detail::NodeHashSetTag<Value>, Alloc,
30 SetInterface<NodeHashMultiSet<Value, Eq, Hasher, Buckets, Alloc>, Value,
31 HashNodeIterator<Value, detail::NodeHashSetTag<Value>>,
32 container::ConstIteratorImpl<HashNodeIterator<Value, detail::NodeHashSetTag<Value>>>,
33 detail::NodeHashTableValidForLookup<Value, Eq>::template Type, true>,
34 true, false> {
35private:
36 using Base = OwningNodeHashTable<
37 Value, Eq, Hasher, Buckets, detail::NodeHashSetTag<Value>, Alloc,
42 true, false>;
43
44public:
45 using Base::Base;
46};
47
48template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>>
50
51template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>, typename Eq>
54
55template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>, typename Eq, typename Hasher>
58}
59
60namespace di {
62}
Definition const_iterator_impl.h:19
Definition hash_node_iterator.h:15
Definition forward_list_forward_declaration.h:12
Definition node_hash_multiset.h:34
Definition owning_node_hash_table.h:59
Definition set_interface.h:18
Definition sequence.h:12
container::InfallibleAllocator DefaultAllocator
Definition custom.h:39
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Definition zstring_parser.h:9
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition default_hasher.h:7
Definition node_hash_set.h:24
Definition in_place_template.h:5