3 #include "hdr_intrusive_treiber_stack.h"
4 #include <cds/gc/hrc.h>
5 #include <cds/intrusive/treiber_stack.h>
9 #define TEST(X) void TestIntrusiveStack::X() { test<defs::X>(); }
13 typedef cds::intrusive::TreiberStack< cds::gc::HRC,
14 TestIntrusiveStack::base_hook_item<cds::gc::HRC>
16 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
20 typedef cds::intrusive::TreiberStack< cds::gc::HRC,
21 TestIntrusiveStack::base_hook_item<cds::gc::HRC>
23 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
25 ,ci::opt::memory_model< ci::opt::v::relaxed_ordering >
26 > Treiber_HRC_base_relaxed;
29 typedef cds::intrusive::TreiberStack< cds::gc::HRC,
30 TestIntrusiveStack::base_hook_item<cds::gc::HRC>
32 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
34 ,ci::opt::disposer< TestIntrusiveStack::faked_disposer >
35 > Treiber_HRC_base_disposer;
37 typedef cds::intrusive::TreiberStack< cds::gc::HRC,
38 TestIntrusiveStack::base_hook_item<cds::gc::HRC>
40 ci::single_link::base_hook< ci::opt::gc<cds::gc::HRC> >
42 ,ci::opt::disposer< TestIntrusiveStack::faked_disposer >
43 ,ci::opt::memory_model< ci::opt::v::relaxed_ordering >
44 > Treiber_HRC_base_disposer_relaxed;
47 TEST(Treiber_HRC_base)
48 TEST(Treiber_HRC_base_disposer)
50 TEST(Treiber_HRC_base_relaxed)
51 TEST(Treiber_HRC_base_disposer_relaxed)