3 #include "ordered_list/hdr_intrusive_lazy.h"
4 #include <cds/urcu/general_instant.h>
5 #include <cds/intrusive/lazy_list_rcu.h>
9 typedef cds::urcu::gc< cds::urcu::general_instant<> > RCU;
12 void IntrusiveLazyListHeaderTest::RCU_GPI_base_cmp()
14 typedef base_int_item< RCU > item;
15 typedef ci::LazyList< RCU
17 ,ci::lazy_list::make_traits<
18 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
19 ,co::compare< cmp<item> >
20 ,ci::opt::disposer< faked_disposer >
25 void IntrusiveLazyListHeaderTest::RCU_GPI_base_less()
27 typedef base_int_item< RCU > item;
28 typedef ci::LazyList< RCU
30 ,ci::lazy_list::make_traits<
31 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
32 ,co::less< less<item> >
33 ,ci::opt::disposer< faked_disposer >
38 void IntrusiveLazyListHeaderTest::RCU_GPI_base_cmpmix()
40 typedef base_int_item< RCU > item;
41 typedef ci::LazyList< RCU
43 ,ci::lazy_list::make_traits<
44 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
45 ,co::less< less<item> >
46 ,co::compare< cmp<item> >
47 ,ci::opt::disposer< faked_disposer >
52 void IntrusiveLazyListHeaderTest::RCU_GPI_base_ic()
54 typedef base_int_item< RCU > item;
55 typedef ci::LazyList< RCU
57 ,ci::lazy_list::make_traits<
58 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
59 ,co::less< less<item> >
60 ,co::compare< cmp<item> >
61 ,ci::opt::disposer< faked_disposer >
62 ,co::item_counter< cds::atomicity::item_counter >
67 void IntrusiveLazyListHeaderTest::RCU_GPI_member_cmp()
69 typedef member_int_item< RCU > item;
70 typedef ci::LazyList< RCU
72 ,ci::lazy_list::make_traits<
73 ci::opt::hook< ci::lazy_list::member_hook<
74 offsetof( item, hMember ),
77 ,co::compare< cmp<item> >
78 ,ci::opt::disposer< faked_disposer >
83 void IntrusiveLazyListHeaderTest::RCU_GPI_member_less()
85 typedef member_int_item< RCU > item;
86 typedef ci::LazyList< RCU
88 ,ci::lazy_list::make_traits<
89 ci::opt::hook< ci::lazy_list::member_hook<
90 offsetof( item, hMember ),
93 ,co::less< less<item> >
94 ,ci::opt::disposer< faked_disposer >
99 void IntrusiveLazyListHeaderTest::RCU_GPI_member_cmpmix()
101 typedef member_int_item< RCU > item;
102 typedef ci::LazyList< RCU
104 ,ci::lazy_list::make_traits<
105 ci::opt::hook< ci::lazy_list::member_hook<
106 offsetof( item, hMember ),
109 ,co::less< less<item> >
110 ,co::compare< cmp<item> >
111 ,ci::opt::disposer< faked_disposer >
114 test_rcu_int<list>();
116 void IntrusiveLazyListHeaderTest::RCU_GPI_member_ic()
118 typedef member_int_item< RCU > item;
119 typedef ci::LazyList< RCU
121 ,ci::lazy_list::make_traits<
122 ci::opt::hook< ci::lazy_list::member_hook<
123 offsetof( item, hMember ),
126 ,co::compare< cmp<item> >
127 ,ci::opt::disposer< faked_disposer >
128 ,co::item_counter< cds::atomicity::item_counter >
131 test_rcu_int<list>();
133 } // namespace ordlist