4 #include <cds/gc/ptb.h>
5 #include <cds/container/michael_deque.h>
8 #define TEST(X) void DequeHeaderTest::test_##X() { test<X>(); }
10 namespace cc = cds::container;
11 namespace co = cds::opt;
14 typedef cds::gc::PTB PTB;
15 typedef deque::DequeHeaderTest::value_type value_type;
17 typedef cc::MichaelDeque< PTB, value_type > MichaelDeque_PTB;
19 /// PTB + item counter
20 typedef cc::MichaelDeque< PTB, value_type
21 ,co::item_counter< cds::atomicity::item_counter >
22 ,co::memory_model< co::v::sequential_consistent >
23 > MichaelDeque_PTB_ic;
26 typedef cc::MichaelDeque< PTB, value_type
27 ,co::stat< cds::intrusive::michael_deque::stat<> >
28 > MichaelDeque_PTB_stat;
31 typedef cc::MichaelDeque< PTB, value_type
32 ,co::alignment< co::no_special_alignment >
33 ,co::item_counter< cds::atomicity::item_counter >
34 > MichaelDeque_PTB_noalign;
38 TEST( MichaelDeque_PTB)
39 TEST( MichaelDeque_PTB_ic)
40 TEST( MichaelDeque_PTB_stat)
41 TEST( MichaelDeque_PTB_noalign)