remove michael_list_hrc.h
[libcds.git] / tests / test-hdr / ordered_list / hdr_intrusive_michael_ptb.cpp
1 //$$CDS-header$$
2
3 #include "ordered_list/hdr_intrusive_michael.h"
4 #include <cds/intrusive/michael_list_dhp.h>
5
6 namespace ordlist {
7     void IntrusiveMichaelListHeaderTest::PTB_base_cmp()
8     {
9         typedef base_int_item< cds::gc::PTB > item;
10         typedef ci::MichaelList< cds::gc::PTB
11             ,item
12             ,ci::michael_list::make_traits<
13                 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::PTB> > >
14                 ,co::compare< cmp<item> >
15                 ,ci::opt::disposer< faked_disposer >
16             >::type
17         >    list;
18         test_int<list>();
19     }
20     void IntrusiveMichaelListHeaderTest::PTB_base_less()
21     {
22         typedef base_int_item< cds::gc::PTB > item;
23         typedef ci::MichaelList< cds::gc::PTB
24             ,item
25             ,ci::michael_list::make_traits<
26                 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::PTB> > >
27                 ,co::less< less<item> >
28                 ,ci::opt::disposer< faked_disposer >
29             >::type
30         >    list;
31         test_int<list>();
32     }
33     void IntrusiveMichaelListHeaderTest::PTB_base_cmpmix()
34     {
35         typedef base_int_item< cds::gc::PTB > item;
36         typedef ci::MichaelList< cds::gc::PTB
37             ,item
38             ,ci::michael_list::make_traits<
39                 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::PTB> > >
40                 ,co::less< less<item> >
41                 ,co::compare< cmp<item> >
42                 ,ci::opt::disposer< faked_disposer >
43             >::type
44         >    list;
45         test_int<list>();
46     }
47     void IntrusiveMichaelListHeaderTest::PTB_base_ic()
48     {
49         typedef base_int_item< cds::gc::PTB > item;
50         typedef ci::MichaelList< cds::gc::PTB
51             ,item
52             ,ci::michael_list::make_traits<
53                 ci::opt::hook< ci::michael_list::base_hook< co::gc<cds::gc::PTB> > >
54                 ,co::less< less<item> >
55                 ,co::compare< cmp<item> >
56                 ,ci::opt::disposer< faked_disposer >
57                 ,co::item_counter< cds::atomicity::item_counter >
58             >::type
59         >    list;
60         test_int<list>();
61     }
62     void IntrusiveMichaelListHeaderTest::PTB_member_cmp()
63     {
64         typedef member_int_item< cds::gc::PTB > item;
65         typedef ci::MichaelList< cds::gc::PTB
66             ,item
67             ,ci::michael_list::make_traits<
68                 ci::opt::hook< ci::michael_list::member_hook<
69                     offsetof( item, hMember ),
70                     co::gc<cds::gc::PTB>
71                 > >
72                 ,co::compare< cmp<item> >
73                 ,ci::opt::disposer< faked_disposer >
74             >::type
75         >    list;
76         test_int<list>();
77     }
78     void IntrusiveMichaelListHeaderTest::PTB_member_less()
79     {
80         typedef member_int_item< cds::gc::PTB > item;
81         typedef ci::MichaelList< cds::gc::PTB
82             ,item
83             ,ci::michael_list::make_traits<
84                 ci::opt::hook< ci::michael_list::member_hook<
85                     offsetof( item, hMember ),
86                     co::gc<cds::gc::PTB>
87                 > >
88                 ,co::less< less<item> >
89                 ,ci::opt::disposer< faked_disposer >
90             >::type
91         >    list;
92         test_int<list>();
93     }
94     void IntrusiveMichaelListHeaderTest::PTB_member_cmpmix()
95     {
96         typedef member_int_item< cds::gc::PTB > item;
97         typedef ci::MichaelList< cds::gc::PTB
98             ,item
99             ,ci::michael_list::make_traits<
100                 ci::opt::hook< ci::michael_list::member_hook<
101                     offsetof( item, hMember ),
102                     co::gc<cds::gc::PTB>
103                 > >
104                 ,co::less< less<item> >
105                 ,co::compare< cmp<item> >
106                 ,ci::opt::disposer< faked_disposer >
107             >::type
108         >    list;
109         test_int<list>();
110     }
111     void IntrusiveMichaelListHeaderTest::PTB_member_ic()
112     {
113         typedef member_int_item< cds::gc::PTB > item;
114         typedef ci::MichaelList< cds::gc::PTB
115             ,item
116             ,ci::michael_list::make_traits<
117                 ci::opt::hook< ci::michael_list::member_hook<
118                     offsetof( item, hMember ),
119                     co::gc<cds::gc::PTB>
120                 > >
121                 ,co::compare< cmp<item> >
122                 ,ci::opt::disposer< faked_disposer >
123                 ,co::item_counter< cds::atomicity::item_counter >
124             >::type
125         >    list;
126         test_int<list>();
127     }
128
129 } // namespace ordlist