From 4e8f486ec737a43e6cfc4df62706ed5c5e7d9e53 Mon Sep 17 00:00:00 2001 From: khizmax Date: Fri, 7 Nov 2014 09:33:32 +0300 Subject: [PATCH] changed set_types.h for tests --- tests/unit/set2/set_defs.h | 16 +- tests/unit/set2/set_types.h | 607 ++++++------------------------------ 2 files changed, 98 insertions(+), 525 deletions(-) diff --git a/tests/unit/set2/set_defs.h b/tests/unit/set2/set_defs.h index 05451a41..c96ca544 100644 --- a/tests/unit/set2/set_defs.h +++ b/tests/unit/set2/set_defs.h @@ -354,10 +354,10 @@ TEST_SET_NOLF_EXTRACT(SkipListSet_hp_cmp_pascal_stat)\ TEST_SET_NOLF_EXTRACT(SkipListSet_hp_less_xorshift)\ TEST_SET_NOLF_EXTRACT(SkipListSet_hp_cmp_xorshift_stat)\ - TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_less_pascal)\ - TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_cmp_pascal_stat)\ - TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_less_xorshift)\ - TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_cmp_xorshift_stat)\ + TEST_SET_NOLF_EXTRACT(SkipListSet_dhp_less_pascal)\ + TEST_SET_NOLF_EXTRACT(SkipListSet_dhp_cmp_pascal_stat)\ + TEST_SET_NOLF_EXTRACT(SkipListSet_dhp_less_xorshift)\ + TEST_SET_NOLF_EXTRACT(SkipListSet_dhp_cmp_xorshift_stat)\ TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_less_pascal)\ TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_cmp_pascal_stat)\ TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_less_xorshift)\ @@ -377,10 +377,10 @@ CPPUNIT_TEST(SkipListSet_hp_cmp_pascal_stat)\ CPPUNIT_TEST(SkipListSet_hp_less_xorshift)\ CPPUNIT_TEST(SkipListSet_hp_cmp_xorshift_stat)\ - CPPUNIT_TEST(SkipListSet_ptb_less_pascal)\ - CPPUNIT_TEST(SkipListSet_ptb_cmp_pascal_stat)\ - CPPUNIT_TEST(SkipListSet_ptb_less_xorshift)\ - CPPUNIT_TEST(SkipListSet_ptb_cmp_xorshift_stat)\ + CPPUNIT_TEST(SkipListSet_dhp_less_pascal)\ + CPPUNIT_TEST(SkipListSet_dhp_cmp_pascal_stat)\ + CPPUNIT_TEST(SkipListSet_dhp_less_xorshift)\ + CPPUNIT_TEST(SkipListSet_dhp_cmp_xorshift_stat)\ CPPUNIT_TEST(SkipListSet_rcu_gpi_less_pascal)\ CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\ CPPUNIT_TEST(SkipListSet_rcu_gpi_less_xorshift)\ diff --git a/tests/unit/set2/set_types.h b/tests/unit/set2/set_types.h index 1b6daf80..a41de00b 100644 --- a/tests/unit/set2/set_types.h +++ b/tests/unit/set2/set_types.h @@ -1132,17 +1132,10 @@ namespace set2 { , co::hash< hash2 > > StripedSet_set; -#if (CDS_COMPILER == CDS_COMPILER_MSVC || (CDS_COMPILER == CDS_COMPILER_INTEL && CDS_OS_INTERFACE == CDS_OSI_WINDOWS)) && _MSC_VER < 1600 - typedef StripedHashSet_ord< - stdext::hash_set< key_val, hash_less > - , co::hash< hash2 > - > StripedSet_hashset; -#else typedef StripedHashSet_ord< std::unordered_set< key_val, hash, equal_to > , co::hash< hash2 > > StripedSet_hashset; -#endif #if BOOST_VERSION >= 104800 typedef StripedHashSet_ord< @@ -1267,17 +1260,10 @@ namespace set2 { , co::hash< hash2 > > RefinableSet_set; -#if (CDS_COMPILER == CDS_COMPILER_MSVC || (CDS_COMPILER == CDS_COMPILER_INTEL && CDS_OS_INTERFACE == CDS_OSI_WINDOWS)) && _MSC_VER < 1600 - typedef RefinableHashSet_ord< - stdext::hash_set< key_val, hash_less > - , co::hash< hash2 > - > RefinableSet_hashset; -#else typedef RefinableHashSet_ord< std::unordered_set< key_val, hash, equal_to > , co::hash< hash2 > > RefinableSet_hashset; -#endif #if BOOST_VERSION >= 104800 typedef RefinableHashSet_ord< @@ -1296,8 +1282,6 @@ namespace set2 { , co::hash< hash2 > > RefinableSet_boost_unordered_set; - - // *************************************************************************** // CuckooSet @@ -1463,569 +1447,158 @@ namespace set2 { // *************************************************************************** - // SkipListSet - HP + // SkipListSet - class traits_SkipListSet_hp_less_pascal: public cc::skip_list::make_traits < + class traits_SkipListSet_less_pascal: public cc::skip_list::make_traits < co::less< less > ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_less_pascal > SkipListSet_hp_less_pascal; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_less_pascal > SkipListSet_hp_less_pascal; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_less_pascal > SkipListSet_dhp_less_pascal; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_gpi_less_pascal; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_gpb_less_pascal; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_gpt_less_pascal; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_shb_less_pascal; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_sht_less_pascal; +#endif - class traits_SkipListSet_hp_less_pascal_seqcst: public cc::skip_list::make_traits < + class traits_SkipListSet_less_pascal_seqcst: public cc::skip_list::make_traits < co::less< less > ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > ,co::memory_model< co::v::sequential_consistent > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_less_pascal_seqcst > SkipListSet_hp_less_pascal_seqcst; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_hp_less_pascal_seqcst; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_dhp_less_pascal_seqcst; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_gpi_less_pascal_seqcst; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_gpb_less_pascal_seqcst; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_gpt_less_pascal_seqcst; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_shb_less_pascal_seqcst; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_sht_less_pascal_seqcst; +#endif - class traits_SkipListSet_hp_less_pascal_stat: public cc::skip_list::make_traits < + class traits_SkipListSet_less_pascal_stat: public cc::skip_list::make_traits < co::less< less > ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > ,co::stat< cc::skip_list::stat<> > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_less_pascal_stat > SkipListSet_hp_less_pascal_stat; - - class traits_SkipListSet_hp_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_cmp_pascal > SkipListSet_hp_cmp_pascal; - - class traits_SkipListSet_hp_cmp_pascal_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_cmp_pascal_stat > SkipListSet_hp_cmp_pascal_stat; - - class traits_SkipListSet_hp_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_less_xorshift > SkipListSet_hp_less_xorshift; - - class traits_SkipListSet_hp_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_less_xorshift_stat > SkipListSet_hp_less_xorshift_stat; - - class traits_SkipListSet_hp_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_cmp_xorshift > SkipListSet_hp_cmp_xorshift; - - class traits_SkipListSet_hp_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_hp_cmp_xorshift_stat > SkipListSet_hp_cmp_xorshift_stat; - - // *************************************************************************** - // SkipListSet - DHP - - class traits_SkipListSet_ptb_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_less_pascal > SkipListSet_ptb_less_pascal; - - class traits_SkipListSet_ptb_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_less_pascal_seqcst > SkipListSet_ptb_less_pascal_seqcst; - - class traits_SkipListSet_ptb_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_less_pascal_stat > SkipListSet_ptb_less_pascal_stat; - - class traits_SkipListSet_ptb_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_cmp_pascal > SkipListSet_ptb_cmp_pascal; - - class traits_SkipListSet_ptb_cmp_pascal_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_cmp_pascal_stat > SkipListSet_ptb_cmp_pascal_stat; - - class traits_SkipListSet_ptb_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_less_xorshift > SkipListSet_ptb_less_xorshift; - - class traits_SkipListSet_ptb_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_less_xorshift_stat > SkipListSet_ptb_less_xorshift_stat; - - class traits_SkipListSet_ptb_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_cmp_xorshift> SkipListSet_ptb_cmp_xorshift; - - class traits_SkipListSet_ptb_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_ptb_cmp_xorshift_stat > SkipListSet_ptb_cmp_xorshift_stat; - - - // *************************************************************************** - // SkipListSet - RCU general_instant - - class traits_SkipListSet_rcu_gpi_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_less_pascal > SkipListSet_rcu_gpi_less_pascal; - - class traits_SkipListSet_rcu_gpi_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_less_pascal_seqcst > SkipListSet_rcu_gpi_less_pascal_seqcst; - - class traits_SkipListSet_rcu_gpi_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_less_pascal_stat > SkipListSet_rcu_gpi_less_pascal_stat; - - class traits_SkipListSet_rcu_gpi_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_cmp_pascal > SkipListSet_rcu_gpi_cmp_pascal; - - class traits_SkipListSet_rcu_gpi_cmp_pascal_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_cmp_pascal_stat > SkipListSet_rcu_gpi_cmp_pascal_stat; - - class traits_SkipListSet_rcu_gpi_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_less_xorshift > SkipListSet_rcu_gpi_less_xorshift; - - class traits_SkipListSet_rcu_gpi_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_less_xorshift_stat > SkipListSet_rcu_gpi_less_xorshift_stat; - - class traits_SkipListSet_rcu_gpi_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_cmp_xorshift > SkipListSet_rcu_gpi_cmp_xorshift; - - class traits_SkipListSet_rcu_gpi_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_rcu_gpi_cmp_xorshift_stat > SkipListSet_rcu_gpi_cmp_xorshift_stat; - - - // *************************************************************************** - // SkipListSet - RCU general_buffered - - class traits_SkipListSet_rcu_gpb_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_less_pascal > SkipListSet_rcu_gpb_less_pascal; - - class traits_SkipListSet_rcu_gpb_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_less_pascal_seqcst > SkipListSet_rcu_gpb_less_pascal_seqcst; - - class traits_SkipListSet_rcu_gpb_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_less_pascal_stat > SkipListSet_rcu_gpb_less_pascal_stat; - - class traits_SkipListSet_rcu_gpb_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_cmp_pascal > SkipListSet_rcu_gpb_cmp_pascal; - - class traits_SkipListSet_rcu_gpb_cmp_pascal_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_cmp_pascal_stat > SkipListSet_rcu_gpb_cmp_pascal_stat; - - class traits_SkipListSet_rcu_gpb_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_less_xorshift > SkipListSet_rcu_gpb_less_xorshift; - - class traits_SkipListSet_rcu_gpb_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_less_xorshift_stat > SkipListSet_rcu_gpb_less_xorshift_stat; - - class traits_SkipListSet_rcu_gpb_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_cmp_xorshift > SkipListSet_rcu_gpb_cmp_xorshift; - - class traits_SkipListSet_rcu_gpb_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_rcu_gpb_cmp_xorshift_stat > SkipListSet_rcu_gpb_cmp_xorshift_stat; - - // *************************************************************************** - // SkipListSet - RCU general_threaded - - class traits_SkipListSet_rcu_gpt_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_less_pascal > SkipListSet_rcu_gpt_less_pascal; - - class traits_SkipListSet_rcu_gpt_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_less_pascal_seqcst > SkipListSet_rcu_gpt_less_pascal_seqcst; - - class traits_SkipListSet_rcu_gpt_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_less_pascal_stat > SkipListSet_rcu_gpt_less_pascal_stat; - - class traits_SkipListSet_rcu_gpt_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_cmp_pascal > SkipListSet_rcu_gpt_cmp_pascal; - - class traits_SkipListSet_rcu_gpt_cmp_pascal_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_cmp_pascal_stat > SkipListSet_rcu_gpt_cmp_pascal_stat; - - class traits_SkipListSet_rcu_gpt_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_less_xorshift > SkipListSet_rcu_gpt_less_xorshift; - - class traits_SkipListSet_rcu_gpt_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_less_xorshift_stat > SkipListSet_rcu_gpt_less_xorshift_stat; - - class traits_SkipListSet_rcu_gpt_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_cmp_xorshift > SkipListSet_rcu_gpt_cmp_xorshift; - - class traits_SkipListSet_rcu_gpt_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_rcu_gpt_cmp_xorshift_stat > SkipListSet_rcu_gpt_cmp_xorshift_stat; - + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_hp_less_pascal_stat; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_dhp_less_pascal_stat; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_gpi_less_pascal_stat; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_gpb_less_pascal_stat; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_gpt_less_pascal_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - // *************************************************************************** - // SkipListSet - RCU signal_buffered - - class traits_SkipListSet_rcu_shb_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_less_pascal > SkipListSet_rcu_shb_less_pascal; - - class traits_SkipListSet_rcu_shb_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_less_pascal_seqcst > SkipListSet_rcu_shb_less_pascal_seqcst; - - class traits_SkipListSet_rcu_shb_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_less_pascal_stat > SkipListSet_rcu_shb_less_pascal_stat; + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_shb_less_pascal_stat; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_sht_less_pascal_stat; +#endif - class traits_SkipListSet_rcu_shb_cmp_pascal: public cc::skip_list::make_traits < + class traits_SkipListSet_cmp_pascal: public cc::skip_list::make_traits < co::compare< compare > ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_cmp_pascal > SkipListSet_rcu_shb_cmp_pascal; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_hp_cmp_pascal; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_dhp_cmp_pascal; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_gpi_cmp_pascal; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_gpb_cmp_pascal; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_gpt_cmp_pascal; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_shb_cmp_pascal; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_sht_cmp_pascal; +#endif - class traits_SkipListSet_rcu_shb_cmp_pascal_stat: public cc::skip_list::make_traits < + class traits_SkipListSet_cmp_pascal_stat: public cc::skip_list::make_traits < co::compare< compare > ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > ,co::stat< cc::skip_list::stat<> > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_cmp_pascal_stat > SkipListSet_rcu_shb_cmp_pascal_stat; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_hp_cmp_pascal_stat; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_dhp_cmp_pascal_stat; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_gpi_cmp_pascal_stat; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_gpb_cmp_pascal_stat; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_gpt_cmp_pascal_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_shb_cmp_pascal_stat; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_sht_cmp_pascal_stat; +#endif - class traits_SkipListSet_rcu_shb_less_xorshift: public cc::skip_list::make_traits < + class traits_SkipListSet_less_xorshift: public cc::skip_list::make_traits < co::less< less > ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_less_xorshift > SkipListSet_rcu_shb_less_xorshift; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_less_xorshift > SkipListSet_hp_less_xorshift; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_less_xorshift > SkipListSet_dhp_less_xorshift; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_gpi_less_xorshift; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_gpb_less_xorshift; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_gpt_less_xorshift; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_shb_less_xorshift; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_sht_less_xorshift; +#endif - class traits_SkipListSet_rcu_shb_less_xorshift_stat: public cc::skip_list::make_traits < + class traits_SkipListSet_less_xorshift_stat: public cc::skip_list::make_traits < co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_less_xorshift_stat > SkipListSet_rcu_shb_less_xorshift_stat; - - class traits_SkipListSet_rcu_shb_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - >::type - {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_cmp_xorshift > SkipListSet_rcu_shb_cmp_xorshift; - - class traits_SkipListSet_rcu_shb_cmp_xorshift_stat: public cc::skip_list::make_traits < - co::compare< compare > ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > ,co::stat< cc::skip_list::stat<> > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_rcu_shb_cmp_xorshift_stat > SkipListSet_rcu_shb_cmp_xorshift_stat; - - // *************************************************************************** - // SkipListSet - RCU signal_threaded - - class traits_SkipListSet_rcu_sht_less_pascal: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_less_pascal > SkipListSet_rcu_sht_less_pascal; - - class traits_SkipListSet_rcu_sht_less_pascal_seqcst: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::memory_model< co::v::sequential_consistent > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_less_pascal_seqcst > SkipListSet_rcu_sht_less_pascal_seqcst; - - class traits_SkipListSet_rcu_sht_less_pascal_stat: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_less_pascal_stat > SkipListSet_rcu_sht_less_pascal_stat; - - class traits_SkipListSet_rcu_sht_cmp_pascal: public cc::skip_list::make_traits < - co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_cmp_pascal > SkipListSet_rcu_sht_cmp_pascal; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_hp_less_xorshift_stat; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_dhp_less_xorshift_stat; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_gpi_less_xorshift_stat; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_gpb_less_xorshift_stat; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_gpt_less_xorshift_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_shb_less_xorshift_stat; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_sht_less_xorshift_stat; +#endif - class traits_SkipListSet_rcu_sht_cmp_pascal_stat: public cc::skip_list::make_traits < + class traits_SkipListSet_cmp_xorshift: public cc::skip_list::make_traits < co::compare< compare > - ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > - ,co::stat< cc::skip_list::stat<> > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_cmp_pascal_stat > SkipListSet_rcu_sht_cmp_pascal_stat; - - class traits_SkipListSet_rcu_sht_less_xorshift: public cc::skip_list::make_traits < - co::less< less > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::item_counter< cds::atomicity::item_counter > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_less_xorshift > SkipListSet_rcu_sht_less_xorshift; - - class traits_SkipListSet_rcu_sht_less_xorshift_stat: public cc::skip_list::make_traits < - co::less< less > - ,co::item_counter< cds::atomicity::item_counter > ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > - ,co::stat< cc::skip_list::stat<> > - >::type - {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_less_xorshift_stat > SkipListSet_rcu_sht_less_xorshift_stat; - - class traits_SkipListSet_rcu_sht_cmp_xorshift: public cc::skip_list::make_traits < - co::compare< compare > ,co::item_counter< cds::atomicity::item_counter > - ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > >::type {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_cmp_xorshift > SkipListSet_rcu_sht_cmp_xorshift; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_hp_cmp_xorshift; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_dhp_cmp_xorshift; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_gpi_cmp_xorshift; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_gpb_cmp_xorshift; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_gpt_cmp_xorshift; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_shb_cmp_xorshift; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_sht_cmp_xorshift; +#endif - class traits_SkipListSet_rcu_sht_cmp_xorshift_stat: public cc::skip_list::make_traits < + class traits_SkipListSet_cmp_xorshift_stat: public cc::skip_list::make_traits < co::compare< compare > ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > ,co::stat< cc::skip_list::stat<> > ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_rcu_sht_cmp_xorshift_stat > SkipListSet_rcu_sht_cmp_xorshift_stat; + typedef cc::SkipListSet< cds::gc::HP, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_hp_cmp_xorshift_stat; + typedef cc::SkipListSet< cds::gc::DHP, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_dhp_cmp_xorshift_stat; + typedef cc::SkipListSet< rcu_gpi, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_gpi_cmp_xorshift_stat; + typedef cc::SkipListSet< rcu_gpb, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_gpb_cmp_xorshift_stat; + typedef cc::SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_gpt_cmp_xorshift_stat; +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED + typedef cc::SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_shb_cmp_xorshift_stat; + typedef cc::SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_sht_cmp_xorshift_stat; #endif + // *************************************************************************** // EllenBinTreeSet struct ellen_bintree_props { -- 2.34.1