3 #include "set/hdr_intrusive_set.h"
4 #include <cds/intrusive/michael_list_nogc.h>
5 #include <cds/intrusive/michael_set_nogc.h>
9 void IntrusiveHashSetHdrTest::nogc_base_cmp()
11 typedef base_int_item< ci::michael_list::node<cds::gc::nogc> > item;
12 typedef ci::MichaelList< cds::gc::nogc
14 ,ci::michael_list::make_traits<
15 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::nogc> > >
16 ,co::compare< cmp<item> >
17 ,ci::opt::disposer< faked_disposer >
21 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
22 ci::michael_set::make_traits<
30 void IntrusiveHashSetHdrTest::nogc_base_less()
32 typedef base_int_item< ci::michael_list::node<cds::gc::nogc> > item;
33 typedef ci::MichaelList< cds::gc::nogc
35 ,ci::michael_list::make_traits<
36 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::nogc> > >
37 ,co::less< less<item> >
38 ,ci::opt::disposer< faked_disposer >
42 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
43 ci::michael_set::make_traits<
51 void IntrusiveHashSetHdrTest::nogc_base_cmpmix()
53 typedef base_int_item< ci::michael_list::node<cds::gc::nogc> > item;
54 typedef ci::MichaelList< cds::gc::nogc
56 ,ci::michael_list::make_traits<
57 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::nogc> > >
58 ,co::less< less<item> >
59 ,co::compare< cmp<item> >
60 ,ci::opt::disposer< faked_disposer >
64 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
65 ci::michael_set::make_traits<
67 ,co::item_counter< simple_item_counter >
74 void IntrusiveHashSetHdrTest::nogc_member_cmp()
76 typedef member_int_item< ci::michael_list::node<cds::gc::nogc> > item;
77 typedef ci::MichaelList< cds::gc::nogc
79 ,ci::michael_list::make_traits<
80 ci::opt::hook< ci::michael_list::member_hook<
81 offsetof( item, hMember ),
84 ,co::compare< cmp<item> >
85 ,ci::opt::disposer< faked_disposer >
89 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
90 ci::michael_set::make_traits<
98 void IntrusiveHashSetHdrTest::nogc_member_less()
100 typedef member_int_item< ci::michael_list::node<cds::gc::nogc> > item;
101 typedef ci::MichaelList< cds::gc::nogc
103 ,ci::michael_list::make_traits<
104 ci::opt::hook< ci::michael_list::member_hook<
105 offsetof( item, hMember ),
106 co::gc<cds::gc::nogc>
108 ,co::less< less<item> >
109 ,ci::opt::disposer< faked_disposer >
113 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
114 ci::michael_set::make_traits<
119 test_int_nogc<set>();
122 void IntrusiveHashSetHdrTest::nogc_member_cmpmix()
124 typedef member_int_item< ci::michael_list::node<cds::gc::nogc> > item;
125 typedef ci::MichaelList< cds::gc::nogc
127 ,ci::michael_list::make_traits<
128 ci::opt::hook< ci::michael_list::member_hook<
129 offsetof( item, hMember ),
130 co::gc<cds::gc::nogc>
132 ,co::compare< cmp<item> >
133 ,co::less< less<item> >
134 ,ci::opt::disposer< faked_disposer >
138 typedef ci::MichaelHashSet< cds::gc::nogc, bucket_type,
139 ci::michael_set::make_traits<
141 ,co::item_counter< simple_item_counter >
145 test_int_nogc<set>();