3 #include "ordered_list/hdr_intrusive_lazy.h"
4 #include <cds/intrusive/lazy_list_nogc.h>
7 void IntrusiveLazyListHeaderTest::nogc_base_cmp()
9 typedef base_int_item< cds::gc::nogc > item;
10 struct traits : public ci::lazy_list::traits {
11 typedef ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > hook;
12 typedef cmp<item> compare;
13 typedef faked_disposer disposer;
15 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
16 test_nogc_int<list>();
19 void IntrusiveLazyListHeaderTest::nogc_base_less()
21 typedef base_int_item< cds::gc::nogc > item;
23 ci::lazy_list::make_traits<
24 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
25 ,co::less< less<item> >
26 ,ci::opt::disposer< faked_disposer >
29 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
30 test_nogc_int<list>();
33 void IntrusiveLazyListHeaderTest::nogc_base_cmpmix()
35 typedef base_int_item< cds::gc::nogc > item;
36 typedef ci::LazyList< cds::gc::nogc
38 ,ci::lazy_list::make_traits<
39 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
40 ,co::less< less<item> >
41 ,co::compare< cmp<item> >
42 ,ci::opt::disposer< faked_disposer >
45 test_nogc_int<list>();
48 void IntrusiveLazyListHeaderTest::nogc_base_ic()
50 typedef base_int_item< cds::gc::nogc > item;
51 typedef ci::LazyList< cds::gc::nogc
53 ,ci::lazy_list::make_traits<
54 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
55 ,co::less< less<item> >
56 ,co::compare< cmp<item> >
57 ,ci::opt::disposer< faked_disposer >
58 ,co::item_counter< cds::atomicity::item_counter >
61 test_nogc_int<list>();
64 void IntrusiveLazyListHeaderTest::nogc_base_unord_equal()
66 typedef base_int_item< cds::gc::nogc > item;
68 ci::lazy_list::make_traits<
69 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
71 ,co::equal_to< equal<item> >
72 ,ci::opt::disposer< faked_disposer >
75 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
76 test_nogc_int<list>();
79 void IntrusiveLazyListHeaderTest::nogc_base_unord_cmp()
81 typedef base_int_item< cds::gc::nogc > item;
83 ci::lazy_list::make_traits<
84 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
86 ,co::compare< cmp<item> >
87 ,ci::opt::disposer< faked_disposer >
90 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
91 test_nogc_int<list>();
94 void IntrusiveLazyListHeaderTest::nogc_base_unord_less()
96 typedef base_int_item< cds::gc::nogc > item;
98 ci::lazy_list::make_traits<
99 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
101 ,co::less< less<item> >
102 ,ci::opt::disposer< faked_disposer >
105 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
106 test_nogc_int<list>();
109 void IntrusiveLazyListHeaderTest::nogc_member_cmp()
111 typedef member_int_item< cds::gc::nogc > item;
112 typedef ci::LazyList< cds::gc::nogc
114 ,ci::lazy_list::make_traits<
115 ci::opt::hook< ci::lazy_list::member_hook<
116 offsetof( item, hMember ),
117 co::gc<cds::gc::nogc>
119 ,co::compare< cmp<item> >
120 ,ci::opt::disposer< faked_disposer >
123 test_nogc_int<list>();
126 void IntrusiveLazyListHeaderTest::nogc_member_less()
128 typedef member_int_item< cds::gc::nogc > item;
129 typedef ci::LazyList< cds::gc::nogc
131 ,ci::lazy_list::make_traits<
132 ci::opt::hook< ci::lazy_list::member_hook<
133 offsetof( item, hMember ),
134 co::gc<cds::gc::nogc>
136 ,co::less< less<item> >
137 ,ci::opt::disposer< faked_disposer >
140 test_nogc_int<list>();
143 void IntrusiveLazyListHeaderTest::nogc_member_cmpmix()
145 typedef member_int_item< cds::gc::nogc > item;
146 typedef ci::LazyList< cds::gc::nogc
148 ,ci::lazy_list::make_traits<
149 ci::opt::hook< ci::lazy_list::member_hook<
150 offsetof( item, hMember ),
151 co::gc<cds::gc::nogc>
153 ,co::less< less<item> >
154 ,co::compare< cmp<item> >
155 ,ci::opt::disposer< faked_disposer >
158 test_nogc_int<list>();
161 void IntrusiveLazyListHeaderTest::nogc_member_ic()
163 typedef member_int_item< cds::gc::nogc > item;
164 typedef ci::LazyList< cds::gc::nogc
166 ,ci::lazy_list::make_traits<
167 ci::opt::hook< ci::lazy_list::member_hook<
168 offsetof( item, hMember ),
169 co::gc<cds::gc::nogc>
171 ,co::compare< cmp<item> >
172 ,ci::opt::disposer< faked_disposer >
173 ,co::item_counter< cds::atomicity::item_counter >
176 test_nogc_int<list>();
179 void IntrusiveLazyListHeaderTest::nogc_member_unord_equal()
181 typedef member_int_item< cds::gc::nogc > item;
182 typedef ci::LazyList< cds::gc::nogc
184 ,ci::lazy_list::make_traits<
185 ci::opt::hook< ci::lazy_list::member_hook<
186 offsetof( item, hMember ),
187 co::gc<cds::gc::nogc>
190 ,co::equal_to< equal<item> >
191 ,ci::opt::disposer< faked_disposer >
194 test_nogc_int<list>();
197 void IntrusiveLazyListHeaderTest::nogc_member_unord_cmp()
199 typedef member_int_item< cds::gc::nogc > item;
200 typedef ci::LazyList< cds::gc::nogc
202 ,ci::lazy_list::make_traits<
203 ci::opt::hook< ci::lazy_list::member_hook<
204 offsetof( item, hMember ),
205 co::gc<cds::gc::nogc>
208 ,co::compare< cmp<item> >
209 ,ci::opt::disposer< faked_disposer >
212 test_nogc_int<list>();
215 void IntrusiveLazyListHeaderTest::nogc_member_unord_less()
217 typedef member_int_item< cds::gc::nogc > item;
218 typedef ci::LazyList< cds::gc::nogc
220 ,ci::lazy_list::make_traits<
221 ci::opt::hook< ci::lazy_list::member_hook<
222 offsetof( item, hMember ),
223 co::gc<cds::gc::nogc>
226 ,co::less< less<item> >
227 ,ci::opt::disposer< faked_disposer >
230 test_nogc_int<list>();
233 } // namespace ordlist