3 #include "ordered_list/hdr_intrusive_michael.h"
4 #include <cds/intrusive/michael_list_dhp.h>
7 void IntrusiveMichaelListHeaderTest::DHP_base_cmp()
9 typedef base_int_item< cds::gc::DHP > item;
10 struct traits : public ci::michael_list::traits {
11 typedef ci::michael_list::base_hook< co::gc<cds::gc::DHP> > hook;
12 typedef cmp<item> compare;
13 typedef faked_disposer disposer;
15 typedef ci::MichaelList< cds::gc::DHP, item, traits > list;
18 void IntrusiveMichaelListHeaderTest::DHP_base_less()
20 typedef base_int_item< cds::gc::DHP > item;
21 typedef ci::MichaelList< cds::gc::DHP
23 ,ci::michael_list::make_traits<
24 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::DHP> > >
25 ,co::less< less<item> >
26 ,ci::opt::disposer< faked_disposer >
31 void IntrusiveMichaelListHeaderTest::DHP_base_cmpmix()
33 typedef base_int_item< cds::gc::DHP > item;
34 typedef ci::MichaelList< cds::gc::DHP
36 ,ci::michael_list::make_traits<
37 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::DHP> > >
38 ,co::less< less<item> >
39 ,co::compare< cmp<item> >
40 ,ci::opt::disposer< faked_disposer >
45 void IntrusiveMichaelListHeaderTest::DHP_base_ic()
47 typedef base_int_item< cds::gc::DHP > item;
48 typedef ci::MichaelList< cds::gc::DHP
50 ,ci::michael_list::make_traits<
51 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::DHP> > >
52 ,co::less< less<item> >
53 ,co::compare< cmp<item> >
54 ,ci::opt::disposer< faked_disposer >
55 ,co::item_counter< cds::atomicity::item_counter >
60 void IntrusiveMichaelListHeaderTest::DHP_member_cmp()
62 typedef member_int_item< cds::gc::DHP > item;
63 typedef ci::MichaelList< cds::gc::DHP
65 ,ci::michael_list::make_traits<
66 ci::opt::hook< ci::michael_list::member_hook<
67 offsetof( item, hMember ),
70 ,co::compare< cmp<item> >
71 ,ci::opt::disposer< faked_disposer >
76 void IntrusiveMichaelListHeaderTest::DHP_member_less()
78 typedef member_int_item< cds::gc::DHP > item;
79 typedef ci::MichaelList< cds::gc::DHP
81 ,ci::michael_list::make_traits<
82 ci::opt::hook< ci::michael_list::member_hook<
83 offsetof( item, hMember ),
86 ,co::less< less<item> >
87 ,ci::opt::disposer< faked_disposer >
92 void IntrusiveMichaelListHeaderTest::DHP_member_cmpmix()
94 typedef member_int_item< cds::gc::DHP > item;
95 typedef ci::MichaelList< cds::gc::DHP
97 ,ci::michael_list::make_traits<
98 ci::opt::hook< ci::michael_list::member_hook<
99 offsetof( item, hMember ),
102 ,co::less< less<item> >
103 ,co::compare< cmp<item> >
104 ,ci::opt::disposer< faked_disposer >
109 void IntrusiveMichaelListHeaderTest::DHP_member_ic()
111 typedef member_int_item< cds::gc::DHP > item;
112 typedef ci::MichaelList< cds::gc::DHP
114 ,ci::michael_list::make_traits<
115 ci::opt::hook< ci::michael_list::member_hook<
116 offsetof( item, hMember ),
119 ,co::compare< cmp<item> >
120 ,ci::opt::disposer< faked_disposer >
121 ,co::item_counter< cds::atomicity::item_counter >
127 } // namespace ordlist