Replace cds::ref/boost::ref with std::ref, remove cds::unref and cds/ref.h header
[libcds.git] / tests / test-hdr / queue / hdr_intrusive_basketqueue_hrc.cpp
1 //$$CDS-header$$
2
3 #include "hdr_intrusive_msqueue.h"
4
5 #include "hdr_intrusive_basketqueue_node.h"
6 #include <cds/gc/hrc.h>
7
8 namespace queue {
9
10 #define TEST(X) void IntrusiveQueueHeaderTest::test_##X() { test_basket<X>(); }
11
12     namespace {
13         // HRC base hook
14         typedef ci::BasketQueue< cds::gc::HRC,
15             basket_queue::base_hook_item<cds::gc::HRC>
16             ,ci::opt::hook<
17                 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
18             >
19             ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
20         > BasketQueue_HRC_base;
21
22         /// HRC base hook + item counter
23         typedef ci::BasketQueue< cds::gc::HRC,
24             basket_queue::base_hook_item<cds::gc::HRC>
25             ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
26             ,ci::opt::hook<
27                 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
28             >
29             ,co::item_counter< cds::atomicity::item_counter >
30             ,co::memory_model< co::v::relaxed_ordering >
31         > BasketQueue_HRC_base_ic;
32
33         // HRC base hook + stat
34         typedef ci::BasketQueue< cds::gc::HRC,
35             basket_queue::base_hook_item<cds::gc::HRC>
36             ,ci::opt::hook<
37                 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
38             >
39             ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
40             ,co::stat< ci::queue_stat<> >
41         > BasketQueue_HRC_base_stat;
42
43         // HRC base hook + alignment
44         typedef ci::BasketQueue< cds::gc::HRC,
45             basket_queue::base_hook_item<cds::gc::HRC>
46             ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
47             ,ci::opt::hook<
48                 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
49             >
50             ,co::alignment< 32 >
51         > BasketQueue_HRC_base_align;
52
53     }
54
55     TEST(BasketQueue_HRC_base)
56     TEST(BasketQueue_HRC_base_ic)
57     TEST(BasketQueue_HRC_base_stat)
58     TEST(BasketQueue_HRC_base_align)
59 }