Removed trailing whitespaces
[libcds.git] / tests / test-hdr / tree / hdr_bronson_avltree_map_rcu_shb.cpp
1 //$$CDS-header$$
2
3 #include "tree/hdr_bronson_avltree_map.h"
4 #include <cds/urcu/signal_buffered.h>
5 #include <cds/container/bronson_avltree_map_rcu.h>
6
7 #include "unit/print_bronsonavltree_stat.h"
8
9 namespace tree {
10 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
11     namespace cc = cds::container;
12     namespace co = cds::opt;
13     namespace {
14         typedef cds::urcu::gc< cds::urcu::signal_buffered<> > rcu_type;
15
16         struct print_stat {
17             template <typename Tree>
18             void operator()( Tree const& t )
19             {
20                 std::cout << t.statistics();
21             }
22         };
23     } // namespace
24 #endif
25
26     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_less()
27     {
28 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
29         struct traits: public
30             cc::bronson_avltree::make_traits<
31                 co::less< std::less<key_type> >
32                 ,cc::bronson_avltree::relaxed_insert< false >
33             >::type
34         {};
35         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
36         test<map_type, print_stat>();
37 #endif
38     }
39
40     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_less_stat()
41     {
42 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
43         struct traits: public
44             cc::bronson_avltree::make_traits<
45                 co::less< std::less<key_type> >
46                 ,co::stat< cc::bronson_avltree::stat<> >
47                 ,cc::bronson_avltree::relaxed_insert< false >
48             >::type
49         {};
50         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
51         test<map_type, print_stat>();
52 #endif
53     }
54
55     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmp()
56     {
57 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
58         struct traits: public
59             cc::bronson_avltree::make_traits<
60                 co::compare< compare >
61             >::type
62         {};
63         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
64         test<map_type, print_stat>();
65 #endif
66     }
67
68     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmp_stat()
69     {
70 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
71         struct traits: public
72             cc::bronson_avltree::make_traits<
73                 co::compare< compare >
74                 ,co::stat< cc::bronson_avltree::stat<> >
75             >::type
76         {};
77         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
78         test<map_type, print_stat>();
79 #endif
80     }
81
82     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmpless()
83     {
84 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
85         struct traits: public
86             cc::bronson_avltree::make_traits<
87                 co::compare< compare >
88                 ,co::less< std::less<key_type> >
89             >::type
90         {};
91         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
92         test<map_type, print_stat>();
93 #endif
94     }
95
96     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_less_ic()
97     {
98 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
99         struct traits: public
100             cc::bronson_avltree::make_traits<
101                 co::less< std::less<key_type> >
102                 ,co::item_counter< cds::atomicity::item_counter >
103             >::type
104         {};
105         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
106         test<map_type, print_stat>();
107 #endif
108     }
109
110     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmp_ic()
111     {
112 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
113         struct traits: public
114             cc::bronson_avltree::make_traits<
115                 co::compare< compare >
116                 ,co::item_counter< cds::atomicity::item_counter >
117             >::type
118         {};
119         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
120         test<map_type, print_stat>();
121 #endif
122     }
123
124     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmp_ic_stat()
125     {
126 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
127         struct traits: public
128             cc::bronson_avltree::make_traits<
129                 co::compare< compare >
130                 ,co::item_counter< cds::atomicity::item_counter >
131                 ,co::stat< cc::bronson_avltree::stat<> >
132             >::type
133         {};
134         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
135         test<map_type, print_stat>();
136 #endif
137     }
138
139     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_cmp_ic_stat_yield()
140     {
141 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
142         struct traits: public
143             cc::bronson_avltree::make_traits<
144                 co::compare< compare >
145                 ,co::item_counter< cds::atomicity::item_counter >
146                 ,co::stat< cc::bronson_avltree::stat<> >
147                 ,co::back_off< cds::backoff::yield >
148             >::type
149         {};
150         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
151         test<map_type, print_stat>();
152 #endif
153     }
154
155     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_less_relaxed_insert()
156     {
157 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
158         struct traits: public
159             cc::bronson_avltree::make_traits<
160                 co::less< std::less<key_type> >
161                 ,cc::bronson_avltree::relaxed_insert< true >
162             >::type
163         {};
164         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
165         test<map_type, print_stat>();
166 #endif
167     }
168
169     void BronsonAVLTreeHdrTest::BronsonAVLTree_rcu_shb_less_relaxed_insert_stat()
170     {
171 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
172         struct traits: public
173             cc::bronson_avltree::make_traits<
174                 co::less< std::less<key_type> >
175                 ,co::stat< cc::bronson_avltree::stat<> >
176                 ,cc::bronson_avltree::relaxed_insert< true >
177             >::type
178         {};
179         typedef cc::BronsonAVLTreeMap< rcu_type, key_type, value_type, traits > map_type;
180         test<map_type, print_stat>();
181 #endif
182     }
183
184 } // namespace tree