Changed: use padding option instead of alignment one
[libcds.git] / tests / test-hdr / queue / hdr_msqueue_dhp.cpp
1 //$$CDS-header$$
2
3 #include <cds/gc/dhp.h>
4 #include <cds/container/msqueue.h>
5
6 #include "queue/hdr_queue.h"
7
8 namespace queue {
9
10     void HdrTestQueue::MSQueue_DHP()
11     {
12         typedef cds::container::MSQueue< cds::gc::DHP, int > test_queue;
13         test_no_ic< test_queue >();
14     }
15
16     void HdrTestQueue::MSQueue_DHP_Counted()
17     {
18         typedef cds::container::MSQueue < cds::gc::DHP, int,
19             typename cds::container::msqueue::make_traits <
20                 cds::opt::item_counter < cds::atomicity::item_counter >
21             > ::type
22         > test_queue;
23
24         test_ic< test_queue >();
25     }
26
27     void HdrTestQueue::MSQueue_DHP_relax()
28     {
29         typedef cds::container::MSQueue < cds::gc::DHP, int,
30             typename cds::container::msqueue::make_traits <
31                 cds::opt::memory_model < cds::opt::v::relaxed_ordering >
32             > ::type
33         > test_queue;
34
35         test_no_ic< test_queue >();
36     }
37
38     void HdrTestQueue::MSQueue_DHP_Counted_relax()
39     {
40         typedef cds::container::MSQueue < cds::gc::DHP, int,
41             typename cds::container::msqueue::make_traits <
42                 cds::opt::item_counter< cds::atomicity::item_counter >
43                 , cds::opt::memory_model < cds::opt::v::relaxed_ordering >
44             > ::type
45         > test_queue;
46
47         test_ic< test_queue >();
48     }
49
50     void HdrTestQueue::MSQueue_DHP_seqcst()
51     {
52         typedef cds::container::MSQueue < cds::gc::DHP, int,
53             typename cds::container::msqueue::make_traits <
54                 cds::opt::memory_model < cds::opt::v::sequential_consistent >
55             > ::type
56         > test_queue;
57
58         test_no_ic< test_queue >();
59     }
60
61     void HdrTestQueue::MSQueue_DHP_Counted_seqcst()
62     {
63         typedef cds::container::MSQueue < cds::gc::DHP, int,
64             typename cds::container::msqueue::make_traits <
65                 cds::opt::item_counter< cds::atomicity::item_counter >
66                 , cds::opt::memory_model < cds::opt::v::sequential_consistent >
67             > ::type
68         > test_queue;
69
70         test_ic< test_queue >();
71     }
72
73     void HdrTestQueue::MSQueue_DHP_relax_align()
74     {
75         typedef cds::container::MSQueue < cds::gc::DHP, int,
76             typename cds::container::msqueue::make_traits <
77                 cds::opt::memory_model< cds::opt::v::relaxed_ordering>
78                 , cds::opt::padding < 16 >
79             > ::type
80         > test_queue;
81
82         test_no_ic< test_queue >();
83     }
84
85     void HdrTestQueue::MSQueue_DHP_Counted_relax_align()
86     {
87         typedef cds::container::MSQueue < cds::gc::DHP, int,
88             typename cds::container::msqueue::make_traits <
89                 cds::opt::item_counter< cds::atomicity::item_counter >
90                 , cds::opt::memory_model< cds::opt::v::relaxed_ordering>
91                 , cds::opt::padding < 32 >
92             >::type
93         > test_queue;
94
95         test_ic< test_queue >();
96     }
97
98     void HdrTestQueue::MSQueue_DHP_seqcst_align()
99     {
100         typedef cds::container::MSQueue < cds::gc::DHP, int,
101             typename cds::container::msqueue::make_traits <
102                 cds::opt::memory_model< cds::opt::v::sequential_consistent>
103                 ,cds::opt::padding < cds::opt::no_special_padding >
104             > ::type
105         > test_queue;
106
107         test_no_ic< test_queue >();
108     }
109
110     void HdrTestQueue::MSQueue_DHP_Counted_seqcst_align()
111     {
112         typedef cds::container::MSQueue < cds::gc::DHP, int,
113             typename cds::container::msqueue::make_traits <
114                 cds::opt::item_counter< cds::atomicity::item_counter >
115                 , cds::opt::memory_model< cds::opt::v::sequential_consistent>
116                 , cds::opt::padding < cds::opt::cache_line_padding >
117             > ::type
118         > test_queue;
119         test_ic< test_queue >();
120     }
121 }   // namespace queue