3 #include "hdr_intrusive_msqueue.h"
5 #include "hdr_intrusive_basketqueue_node.h"
6 #include <cds/gc/hrc.h>
10 #define TEST(X) void IntrusiveQueueHeaderTest::test_##X() { test_basket<X>(); }
14 typedef ci::BasketQueue< cds::gc::HRC,
15 basket_queue::base_hook_item<cds::gc::HRC>
17 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
19 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
20 > BasketQueue_HRC_base;
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 >
27 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
29 ,co::item_counter< cds::atomicity::item_counter >
30 ,co::memory_model< co::v::relaxed_ordering >
31 > BasketQueue_HRC_base_ic;
33 // HRC base hook + stat
34 typedef ci::BasketQueue< cds::gc::HRC,
35 basket_queue::base_hook_item<cds::gc::HRC>
37 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
39 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
40 ,co::stat< ci::queue_stat<> >
41 > BasketQueue_HRC_base_stat;
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 >
48 ci::basket_queue::base_hook< ci::opt::gc<cds::gc::HRC> >
51 > BasketQueue_HRC_base_align;
55 TEST(BasketQueue_HRC_base)
56 TEST(BasketQueue_HRC_base_ic)
57 TEST(BasketQueue_HRC_base_stat)
58 TEST(BasketQueue_HRC_base_align)