3 #include "set/hdr_intrusive_striped_set.h"
4 #include <cds/intrusive/striped_set/boost_splay_set.h>
5 #include <cds/intrusive/striped_set.h>
6 #include <boost/version.hpp>
9 namespace bi = boost::intrusive;
12 # if BOOST_VERSION < 105600
13 typedef bi::splay_set_member_hook<> splay_set_member_hook;
14 typedef bi::splay_set_base_hook<> splay_set_base_hook;
16 typedef bi::bs_set_base_hook<> splay_set_base_hook;
17 typedef bi::bs_set_member_hook<> splay_set_member_hook;
19 typedef IntrusiveStripedSetHdrTest::base_item< splay_set_base_hook > base_item_type;
20 typedef IntrusiveStripedSetHdrTest::member_item< splay_set_member_hook > member_item_type;
23 void IntrusiveStripedSetHdrTest::Refinable_splay_set_basehook()
25 typedef ci::StripedSet<
26 bi::splay_set<base_item_type, bi::compare<IntrusiveStripedSetHdrTest::less<base_item_type> > >
27 ,co::mutex_policy< ci::striped_set::refinable<> >
28 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
29 ,co::back_off< cds::backoff::empty >
35 void IntrusiveStripedSetHdrTest::Refinable_splay_set_basehook_bucket_threshold()
37 typedef ci::StripedSet<
38 bi::splay_set<base_item_type, bi::compare<IntrusiveStripedSetHdrTest::less<base_item_type> > >
39 ,co::mutex_policy< ci::striped_set::refinable<> >
40 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
41 ,co::resizing_policy< ci::striped_set::single_bucket_size_threshold<64> >
47 void IntrusiveStripedSetHdrTest::Refinable_splay_set_basehook_bucket_threshold_rt()
49 typedef ci::StripedSet<
50 bi::splay_set<base_item_type, bi::compare<IntrusiveStripedSetHdrTest::less<base_item_type> > >
51 ,co::mutex_policy< ci::striped_set::refinable<> >
52 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
53 ,co::resizing_policy< ci::striped_set::single_bucket_size_threshold<0> >
56 set_type s( 64, ci::striped_set::single_bucket_size_threshold<0>(256) );
60 void IntrusiveStripedSetHdrTest::Refinable_splay_set_memberhook()
62 typedef ci::StripedSet<
65 , bi::member_hook< member_item_type, splay_set_member_hook, &member_item_type::hMember>
66 , bi::compare<IntrusiveStripedSetHdrTest::less<member_item_type> >
68 ,co::mutex_policy< ci::striped_set::refinable<> >
69 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
75 void IntrusiveStripedSetHdrTest::Refinable_splay_set_memberhook_bucket_threshold()
77 typedef ci::StripedSet<
80 , bi::member_hook< member_item_type, splay_set_member_hook, &member_item_type::hMember>
81 , bi::compare<IntrusiveStripedSetHdrTest::less<member_item_type> >
83 ,co::mutex_policy< ci::striped_set::refinable<> >
84 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
85 ,co::resizing_policy< ci::striped_set::single_bucket_size_threshold<256> >
91 void IntrusiveStripedSetHdrTest::Refinable_splay_set_memberhook_bucket_threshold_rt()
93 typedef ci::StripedSet<
96 , bi::member_hook< member_item_type, splay_set_member_hook, &member_item_type::hMember>
97 , bi::compare<IntrusiveStripedSetHdrTest::less<member_item_type> >
99 ,co::mutex_policy< ci::striped_set::refinable<> >
100 ,co::hash< IntrusiveStripedSetHdrTest::hash_int >
101 ,co::resizing_policy< ci::striped_set::single_bucket_size_threshold<0> >
104 set_type s( 64, ci::striped_set::single_bucket_size_threshold<0>(256) );