Move libcds 1.6.0 from SVN
[libcds.git] / tests / test-hdr / queue / hdr_moirqueue_hrc.cpp
1 //$$CDS-header$$
2
3 #include <cds/container/moir_queue.h>
4 #include <cds/gc/hrc.h>
5
6 #include "queue/queue_test_header.h"
7
8 namespace queue {
9
10     void Queue_TestHeader::MoirQueue_HRC()
11     {
12         testNoItemCounter<
13             cds::container::MoirQueue< cds::gc::HRC, int
14             >
15         >();
16     }
17
18     void Queue_TestHeader::MoirQueue_HRC_Counted()
19     {
20         testWithItemCounter<
21             cds::container::MoirQueue< cds::gc::HRC, int
22                 ,cds::opt::item_counter< cds::atomicity::item_counter >
23             >
24         >();
25     }
26
27     void Queue_TestHeader::MoirQueue_HRC_relax()
28     {
29         testNoItemCounter<
30             cds::container::MoirQueue< cds::gc::HRC, int
31                 ,cds::opt::memory_model< cds::opt::v::relaxed_ordering>
32             >
33         >();
34     }
35
36     void Queue_TestHeader::MoirQueue_HRC_Counted_relax()
37     {
38         testWithItemCounter<
39             cds::container::MoirQueue< cds::gc::HRC, int
40                 ,cds::opt::item_counter< cds::atomicity::item_counter >
41                 ,cds::opt::memory_model< cds::opt::v::relaxed_ordering>
42             >
43         >();
44     }
45
46     void Queue_TestHeader::MoirQueue_HRC_seqcst()
47     {
48         testNoItemCounter<
49             cds::container::MoirQueue< cds::gc::HRC, int
50                 ,cds::opt::memory_model< cds::opt::v::sequential_consistent>
51             >
52         >();
53     }
54
55     void Queue_TestHeader::MoirQueue_HRC_Counted_seqcst()
56     {
57         testWithItemCounter<
58             cds::container::MoirQueue< cds::gc::HRC, int
59                 ,cds::opt::item_counter< cds::atomicity::item_counter >
60                 ,cds::opt::memory_model< cds::opt::v::sequential_consistent>
61             >
62         >();
63     }
64
65     void Queue_TestHeader::MoirQueue_HRC_relax_align()
66     {
67         testNoItemCounter<
68             cds::container::MoirQueue< cds::gc::HRC, int
69                 ,cds::opt::memory_model< cds::opt::v::relaxed_ordering>
70                 ,cds::opt::alignment< 16 >
71             >
72         >();
73     }
74
75     void Queue_TestHeader::MoirQueue_HRC_Counted_relax_align()
76     {
77         testWithItemCounter<
78             cds::container::MoirQueue< cds::gc::HRC, int
79                 ,cds::opt::item_counter< cds::atomicity::item_counter >
80                 ,cds::opt::memory_model< cds::opt::v::relaxed_ordering>
81                 ,cds::opt::alignment< 32 >
82             >
83         >();
84     }
85
86     void Queue_TestHeader::MoirQueue_HRC_seqcst_align()
87     {
88         testNoItemCounter<
89             cds::container::MoirQueue< cds::gc::HRC, int
90                 ,cds::opt::memory_model< cds::opt::v::sequential_consistent>
91                 ,cds::opt::alignment< cds::opt::no_special_alignment >
92             >
93         >();
94     }
95
96     void Queue_TestHeader::MoirQueue_HRC_Counted_seqcst_align()
97     {
98         testWithItemCounter<
99             cds::container::MoirQueue< cds::gc::HRC, int
100                 ,cds::opt::item_counter< cds::atomicity::item_counter >
101                 ,cds::opt::memory_model< cds::opt::v::sequential_consistent>
102                 ,cds::opt::alignment< cds::opt::cache_line_alignment >
103             >
104         >();
105     }
106
107 }   // namespace queue