Iros
 
Loading...
Searching...
No Matches
hash_set.h
Go to the documentation of this file.
1#pragma once
2
11
12namespace di::container {
13template<typename Tag>
15
16template<typename Self>
18
19struct DefaultIntrusiveHashSetTag : IntrusiveHashSetTag<DefaultIntrusiveHashSetTag> {};
20
21template<typename T, typename Tag = DefaultIntrusiveHashSetTag,
25 : public NodeHashTable<
26 T, Eq, Hasher, Buckets, Tag,
27 IntrusiveSetInterface<IntrusiveHashSet<T, Tag, Eq, Hasher>, T, IntrusiveHashSetNode<Tag>,
28 HashNodeIterator<T, Tag>, meta::ConstIterator<HashNodeIterator<T, Tag>>,
29 detail::NodeHashTableValidForLookup<T, Eq>::template Type, false>,
30 false, false> {};
31
32template<typename T, typename Tag = DefaultIntrusiveHashSetTag,
36 : public NodeHashTable<
37 T, Eq, Hasher, Buckets, Tag,
38 IntrusiveSetInterface<IntrusiveHashSet<T, Tag, Eq, Hasher>, T, IntrusiveHashSetNode<Tag>,
39 HashNodeIterator<T, Tag>, meta::ConstIterator<HashNodeIterator<T, Tag>>,
40 detail::NodeHashTableValidForLookup<T, Eq>::template Type, true>,
41 true, false> {};
42}
43
44namespace di {
49}
Definition hash_set.h:41
Definition hash_set.h:30
Node based (closed addressing) hash table.
Definition node_hash_table.h:60
Definition vector_forward_declaration.h:8
Definition hasher.h:8
Definition relation.h:7
Definition mutable_vector.h:13
Definition sequence.h:12
HashNode< Tag > IntrusiveHashSetNode
Definition hash_set.h:14
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Definition zstring_parser.h:9
Definition default_hasher.h:7
Definition hash_node.h:7
Definition forward_list.h:17
Definition hash_set.h:17
Definition equal.h:8