3 #include "hdr_intrusive_msqueue.h"
4 #include "hdr_intrusive_singlelink_node.h"
5 #include <cds/intrusive/moir_queue.h>
6 #include <cds/gc/hrc.h>
10 #define TEST(X) void IntrusiveQueueHeaderTest::test_##X() { test<X>(); }
15 typedef ci::MoirQueue< cds::gc::HRC,
16 base_hook_item<cds::gc::HRC>
18 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
20 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
23 // HRC base hook + item counter
24 typedef ci::MoirQueue< cds::gc::HRC,
25 base_hook_item<cds::gc::HRC>
27 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
29 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
30 ,co::item_counter< cds::atomicity::item_counter >
31 > MoirQueue_HRC_base_ic;
33 // HRC base hook + stat
34 typedef ci::MoirQueue< cds::gc::HRC,
35 base_hook_item<cds::gc::HRC>
37 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
39 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
40 ,co::stat< ci::queue_stat<> >
41 > MoirQueue_HRC_base_stat;
43 // HRC base hook + alignment
44 typedef ci::MoirQueue< cds::gc::HRC,
45 base_hook_item<cds::gc::HRC>
47 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
49 ,ci::opt::disposer< IntrusiveQueueHeaderTest::faked_disposer >
51 > MoirQueue_HRC_base_align;
54 TEST(MoirQueue_HRC_base)
55 TEST(MoirQueue_HRC_base_ic)
56 TEST(MoirQueue_HRC_base_stat)
57 TEST(MoirQueue_HRC_base_align)