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>();
18 void IntrusiveLazyListHeaderTest::nogc_base_less()
20 typedef base_int_item< cds::gc::nogc > item;
22 ci::lazy_list::make_traits<
23 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
24 ,co::less< less<item> >
25 ,ci::opt::disposer< faked_disposer >
28 typedef ci::LazyList< cds::gc::nogc, item, traits > list;
29 test_nogc_int<list>();
31 void IntrusiveLazyListHeaderTest::nogc_base_cmpmix()
33 typedef base_int_item< cds::gc::nogc > item;
34 typedef ci::LazyList< cds::gc::nogc
36 ,ci::lazy_list::make_traits<
37 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
38 ,co::less< less<item> >
39 ,co::compare< cmp<item> >
40 ,ci::opt::disposer< faked_disposer >
43 test_nogc_int<list>();
45 void IntrusiveLazyListHeaderTest::nogc_base_ic()
47 typedef base_int_item< cds::gc::nogc > item;
48 typedef ci::LazyList< cds::gc::nogc
50 ,ci::lazy_list::make_traits<
51 ci::opt::hook< ci::lazy_list::base_hook< co::gc<cds::gc::nogc> > >
52 ,co::less< less<item> >
53 ,co::compare< cmp<item> >
54 ,ci::opt::disposer< faked_disposer >
55 ,co::item_counter< cds::atomicity::item_counter >
58 test_nogc_int<list>();
60 void IntrusiveLazyListHeaderTest::nogc_member_cmp()
62 typedef member_int_item< cds::gc::nogc > item;
63 typedef ci::LazyList< cds::gc::nogc
65 ,ci::lazy_list::make_traits<
66 ci::opt::hook< ci::lazy_list::member_hook<
67 offsetof( item, hMember ),
70 ,co::compare< cmp<item> >
71 ,ci::opt::disposer< faked_disposer >
74 test_nogc_int<list>();
76 void IntrusiveLazyListHeaderTest::nogc_member_less()
78 typedef member_int_item< cds::gc::nogc > item;
79 typedef ci::LazyList< cds::gc::nogc
81 ,ci::lazy_list::make_traits<
82 ci::opt::hook< ci::lazy_list::member_hook<
83 offsetof( item, hMember ),
86 ,co::less< less<item> >
87 ,ci::opt::disposer< faked_disposer >
90 test_nogc_int<list>();
92 void IntrusiveLazyListHeaderTest::nogc_member_cmpmix()
94 typedef member_int_item< cds::gc::nogc > item;
95 typedef ci::LazyList< cds::gc::nogc
97 ,ci::lazy_list::make_traits<
98 ci::opt::hook< ci::lazy_list::member_hook<
99 offsetof( item, hMember ),
100 co::gc<cds::gc::nogc>
102 ,co::less< less<item> >
103 ,co::compare< cmp<item> >
104 ,ci::opt::disposer< faked_disposer >
107 test_nogc_int<list>();
109 void IntrusiveLazyListHeaderTest::nogc_member_ic()
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 >
121 ,co::item_counter< cds::atomicity::item_counter >
124 test_nogc_int<list>();
127 } // namespace ordlist