3 #include "ordered_list/hdr_intrusive_lazy.h"
4 #include <cds/intrusive/lazy_list_hp.h>
7 void IntrusiveLazyListHeaderTest::HP_base_cmp()
9 typedef base_int_item< cds::gc::HP > item;
10 struct traits : public ci::lazy_list::traits
12 typedef ci::lazy_list::base_hook< co::gc<cds::gc::HP> > hook;
13 typedef cmp<item> compare;
14 typedef faked_disposer disposer;
16 typedef ci::LazyList< cds::gc::HP, item, traits > list;
19 void IntrusiveLazyListHeaderTest::HP_base_less()
21 typedef base_int_item< cds::gc::HP > item;
22 typedef ci::LazyList< cds::gc::HP
24 ,ci::lazy_list::make_traits<
25 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
26 ,co::less< less<item> >
27 ,ci::opt::disposer< faked_disposer >
32 void IntrusiveLazyListHeaderTest::HP_base_cmpmix()
34 typedef base_int_item< cds::gc::HP > item;
35 typedef ci::LazyList< cds::gc::HP
37 ,ci::lazy_list::make_traits<
38 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
39 ,co::less< less<item> >
40 ,co::compare< cmp<item> >
41 ,ci::opt::disposer< faked_disposer >
46 void IntrusiveLazyListHeaderTest::HP_base_ic()
48 typedef base_int_item< cds::gc::HP > item;
49 typedef ci::LazyList< cds::gc::HP
51 ,ci::lazy_list::make_traits<
52 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::HP> > >
53 ,co::less< less<item> >
54 ,co::compare< cmp<item> >
55 ,ci::opt::disposer< faked_disposer >
56 ,co::item_counter< cds::atomicity::item_counter >
61 void IntrusiveLazyListHeaderTest::HP_member_cmp()
63 typedef member_int_item< cds::gc::HP > item;
64 typedef ci::LazyList< cds::gc::HP
66 ,ci::lazy_list::make_traits<
67 ci::opt::hook< ci::lazy_list::member_hook<
68 offsetof( item, hMember ),
71 ,co::compare< cmp<item> >
72 ,ci::opt::disposer< faked_disposer >
77 void IntrusiveLazyListHeaderTest::HP_member_less()
79 typedef member_int_item< cds::gc::HP > item;
80 struct traits : public ci::lazy_list::traits
82 typedef ci::lazy_list::member_hook< offsetof( item, hMember ), co::gc<cds::gc::HP>> hook;
83 typedef IntrusiveLazyListHeaderTest::less<item> less;
84 typedef faked_disposer disposer;
86 typedef ci::LazyList< cds::gc::HP, item, traits > list;
89 void IntrusiveLazyListHeaderTest::HP_member_cmpmix()
91 typedef member_int_item< cds::gc::HP > item;
92 typedef ci::LazyList< cds::gc::HP
94 ,ci::lazy_list::make_traits<
95 ci::opt::hook< ci::lazy_list::member_hook<
96 offsetof( item, hMember ),
99 ,co::less< less<item> >
100 ,co::compare< cmp<item> >
101 ,ci::opt::disposer< faked_disposer >
106 void IntrusiveLazyListHeaderTest::HP_member_ic()
108 typedef member_int_item< cds::gc::HP > item;
109 typedef ci::LazyList< cds::gc::HP
111 ,ci::lazy_list::make_traits<
112 ci::opt::hook< ci::lazy_list::member_hook<
113 offsetof( item, hMember ),
116 ,co::compare< cmp<item> >
117 ,ci::opt::disposer< faked_disposer >
118 ,co::item_counter< cds::atomicity::item_counter >
123 } // namespace ordlist
125 CPPUNIT_TEST_SUITE_REGISTRATION(ordlist::IntrusiveLazyListHeaderTest);