894cbe5c2611370df222535d9082c98867c51c38
[libcds.git] / tests / test-hdr / ordered_list / hdr_intrusive_lazy_nogc.cpp
1 //$$CDS-header$$
2
3 #include "ordered_list/hdr_intrusive_lazy.h"
4 #include <cds/intrusive/lazy_list_nogc.h>
5
6 namespace ordlist {
7     void IntrusiveLazyListHeaderTest::nogc_base_cmp()
8     {
9         typedef base_int_item< cds::gc::nogc > item;
10         typedef ci::LazyList< cds::gc::nogc
11             ,item
12             ,ci::lazy_list::make_traits<
13                 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
14                 ,co::compare< cmp<item> >
15                 ,ci::opt::disposer< faked_disposer >
16             >::type
17         >    list;
18         test_nogc_int<list>();
19     }
20     void IntrusiveLazyListHeaderTest::nogc_base_less()
21     {
22         typedef base_int_item< cds::gc::nogc > item;
23         typedef ci::LazyList< cds::gc::nogc
24             ,item
25             ,ci::lazy_list::make_traits<
26                 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
27                 ,co::less< less<item> >
28                 ,ci::opt::disposer< faked_disposer >
29             >::type
30         >    list;
31         test_nogc_int<list>();
32     }
33     void IntrusiveLazyListHeaderTest::nogc_base_cmpmix()
34     {
35         typedef base_int_item< cds::gc::nogc > item;
36         typedef ci::LazyList< cds::gc::nogc
37             ,item
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 >
43             >::type
44         >    list;
45         test_nogc_int<list>();
46     }
47     void IntrusiveLazyListHeaderTest::nogc_base_ic()
48     {
49         typedef base_int_item< cds::gc::nogc > item;
50         typedef ci::LazyList< cds::gc::nogc
51             ,item
52             ,ci::lazy_list::make_traits<
53                 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
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_nogc_int<list>();
61     }
62     void IntrusiveLazyListHeaderTest::nogc_member_cmp()
63     {
64         typedef member_int_item< cds::gc::nogc > item;
65         typedef ci::LazyList< cds::gc::nogc
66             ,item
67             ,ci::lazy_list::make_traits<
68                 ci::opt::hook< ci::lazy_list::member_hook<
69                     offsetof( item, hMember ),
70                     co::gc<cds::gc::nogc>
71                 > >
72                 ,co::compare< cmp<item> >
73                 ,ci::opt::disposer< faked_disposer >
74             >::type
75         >    list;
76         test_nogc_int<list>();
77     }
78     void IntrusiveLazyListHeaderTest::nogc_member_less()
79     {
80         typedef member_int_item< cds::gc::nogc > item;
81         typedef ci::LazyList< cds::gc::nogc
82             ,item
83             ,ci::lazy_list::make_traits<
84                 ci::opt::hook< ci::lazy_list::member_hook<
85                     offsetof( item, hMember ),
86                     co::gc<cds::gc::nogc>
87                 > >
88                 ,co::less< less<item> >
89                 ,ci::opt::disposer< faked_disposer >
90             >::type
91         >    list;
92         test_nogc_int<list>();
93     }
94     void IntrusiveLazyListHeaderTest::nogc_member_cmpmix()
95     {
96         typedef member_int_item< cds::gc::nogc > item;
97         typedef ci::LazyList< cds::gc::nogc
98             ,item
99             ,ci::lazy_list::make_traits<
100                 ci::opt::hook< ci::lazy_list::member_hook<
101                     offsetof( item, hMember ),
102                     co::gc<cds::gc::nogc>
103                 > >
104                 ,co::less< less<item> >
105                 ,co::compare< cmp<item> >
106                 ,ci::opt::disposer< faked_disposer >
107             >::type
108         >    list;
109         test_nogc_int<list>();
110     }
111     void IntrusiveLazyListHeaderTest::nogc_member_ic()
112     {
113         typedef member_int_item< cds::gc::nogc > item;
114         typedef ci::LazyList< cds::gc::nogc
115             ,item
116             ,ci::lazy_list::make_traits<
117                 ci::opt::hook< ci::lazy_list::member_hook<
118                     offsetof( item, hMember ),
119                     co::gc<cds::gc::nogc>
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_nogc_int<list>();
127     }
128
129 } // namespace ordlist