3 #include "set/hdr_intrusive_set.h"
4 #include <cds/intrusive/lazy_list_hp.h>
5 #include <cds/intrusive/michael_set.h>
9 void IntrusiveHashSetHdrTest::HP_base_cmp_lazy()
11 typedef base_int_item< ci::lazy_list::node<cds::gc::HP> > item;
13 public ci::lazy_list::make_traits<
14 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
15 ,co::compare< cmp<item> >
16 ,ci::opt::disposer< faked_disposer >
17 ,ci::opt::back_off< cds::backoff::pause >
20 typedef ci::LazyList< cds::gc::HP, item, list_traits > bucket_type;
22 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
23 ci::michael_set::make_traits<
31 void IntrusiveHashSetHdrTest::HP_base_less_lazy()
33 typedef base_int_item< ci::lazy_list::node<cds::gc::HP> > item;
34 typedef ci::LazyList< cds::gc::HP
36 ,ci::lazy_list::make_traits<
37 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
38 ,co::less< less<item> >
39 ,ci::opt::disposer< faked_disposer >
43 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
44 ci::michael_set::make_traits<
52 void IntrusiveHashSetHdrTest::HP_base_cmpmix_lazy()
54 typedef base_int_item< ci::lazy_list::node<cds::gc::HP> > item;
55 typedef ci::LazyList< cds::gc::HP
57 ,ci::lazy_list::make_traits<
58 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
59 ,co::less< less<item> >
60 ,co::compare< cmp<item> >
61 ,ci::opt::disposer< faked_disposer >
65 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
66 ci::michael_set::make_traits<
68 ,co::item_counter< simple_item_counter >
75 void IntrusiveHashSetHdrTest::HP_member_cmp_lazy()
77 typedef member_int_item< ci::lazy_list::node<cds::gc::HP> > item;
78 typedef ci::LazyList< cds::gc::HP
80 ,ci::lazy_list::make_traits<
81 ci::opt::hook< ci::lazy_list::member_hook<
82 offsetof( item, hMember ),
85 ,co::compare< cmp<item> >
86 ,ci::opt::disposer< faked_disposer >
90 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
91 ci::michael_set::make_traits<
99 void IntrusiveHashSetHdrTest::HP_member_less_lazy()
101 typedef member_int_item< ci::lazy_list::node<cds::gc::HP> > item;
102 typedef ci::LazyList< cds::gc::HP
104 ,ci::lazy_list::make_traits<
105 ci::opt::hook< ci::lazy_list::member_hook<
106 offsetof( item, hMember ),
109 ,co::less< less<item> >
110 ,ci::opt::disposer< faked_disposer >
114 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
115 ci::michael_set::make_traits<
123 void IntrusiveHashSetHdrTest::HP_member_cmpmix_lazy()
125 typedef member_int_item< ci::lazy_list::node<cds::gc::HP> > item;
126 typedef ci::LazyList< cds::gc::HP
128 ,ci::lazy_list::make_traits<
129 ci::opt::hook< ci::lazy_list::member_hook<
130 offsetof( item, hMember ),
133 ,co::compare< cmp<item> >
134 ,co::less< less<item> >
135 ,ci::opt::disposer< faked_disposer >
139 typedef ci::MichaelHashSet< cds::gc::HP, bucket_type,
140 ci::michael_set::make_traits<
142 ,co::item_counter< simple_item_counter >