X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tests%2Funit%2Fmap2%2Fmap_types.h;h=d79465096f6eaab1b2e0b0ec8b9eb6dbe13cda63;hb=92c1bbab088df29ed018aa6bd73a18277109e04e;hp=c5d2cd7e59ff661bdf230e2bfb6778b5c6c4f959;hpb=7d15399a4d18ae2061ddb01656d85dbc940ff915;p=libcds.git diff --git a/tests/unit/map2/map_types.h b/tests/unit/map2/map_types.h index c5d2cd7e..d7946509 100644 --- a/tests/unit/map2/map_types.h +++ b/tests/unit/map2/map_types.h @@ -10,14 +10,12 @@ #include #include -#include -#include +#include #include #include #include -#include -#include +#include #include #include @@ -35,8 +33,7 @@ #include #include -#include -#include +#include #include #include @@ -116,19 +113,19 @@ namespace map2 { } }; - template + template class CuckooStripedMap: public cc::CuckooMap< K, V, typename cc::cuckoo::make_traits< co::mutex_policy< cc::cuckoo::striping<> > - ,CDS_OPTIONS10 + ,Options... >::type > { public: typedef typename cc::cuckoo::make_traits< co::mutex_policy< cc::cuckoo::striping<> > - ,CDS_OPTIONS10 + ,Options... >::type cuckoo_traits; typedef cc::CuckooMap< K, V, cuckoo_traits > cuckoo_base_class; @@ -145,19 +142,19 @@ namespace map2 { } }; - template + template class CuckooRefinableMap: public cc::CuckooMap< K, V, typename cc::cuckoo::make_traits< co::mutex_policy< cc::cuckoo::refinable<> > - ,CDS_OPTIONS10 + ,Options... >::type > { public: typedef typename cc::cuckoo::make_traits< co::mutex_policy< cc::cuckoo::refinable<> > - ,CDS_OPTIONS10 + ,Options... >::type cuckoo_traits; typedef cc::CuckooMap< K, V, cuckoo_traits > cuckoo_base_class; @@ -260,85 +257,45 @@ namespace map2 { >::type > MichaelList_HP_less_michaelAlloc; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::compare< compare > >::type - > MichaelList_HRC_cmp_stdAlloc; + > MichaelList_DHP_cmp_stdAlloc; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::compare< compare > ,co::memory_model< co::v::sequential_consistent > >::type - > MichaelList_HRC_cmp_stdAlloc_seqcst; + > MichaelList_DHP_cmp_stdAlloc_seqcst; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::compare< compare >, co::allocator< memory::MichaelAllocator > >::type - > MichaelList_HRC_cmp_michaelAlloc; + > MichaelList_DHP_cmp_michaelAlloc; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::less< less > >::type - > MichaelList_HRC_less_stdAlloc; + > MichaelList_DHP_less_stdAlloc; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::less< less > ,co::memory_model< co::v::sequential_consistent > >::type - > MichaelList_HRC_less_stdAlloc_seqcst; + > MichaelList_DHP_less_stdAlloc_seqcst; - typedef cc::MichaelKVList< cds::gc::HRC, Key, Value, + typedef cc::MichaelKVList< cds::gc::DHP, Key, Value, typename cc::michael_list::make_traits< co::less< less >, co::allocator< memory::MichaelAllocator > >::type - > MichaelList_HRC_less_michaelAlloc; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::compare< compare > - >::type - > MichaelList_PTB_cmp_stdAlloc; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > MichaelList_PTB_cmp_stdAlloc_seqcst; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::compare< compare >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelList_PTB_cmp_michaelAlloc; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::less< less > - >::type - > MichaelList_PTB_less_stdAlloc; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > MichaelList_PTB_less_stdAlloc_seqcst; - - typedef cc::MichaelKVList< cds::gc::PTB, Key, Value, - typename cc::michael_list::make_traits< - co::less< less >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelList_PTB_less_michaelAlloc; + > MichaelList_DHP_less_michaelAlloc; // RCU typedef cc::MichaelKVList< rcu_gpi, Key, Value, @@ -739,81 +696,43 @@ namespace map2 { >::type > MichaelMap_HP_less_michaelAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_cmp_stdAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_cmp_stdAlloc, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_HRC_cmp_stdAlloc; + > MichaelMap_DHP_cmp_stdAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_cmp_stdAlloc_seqcst, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_cmp_stdAlloc_seqcst, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_HRC_cmp_stdAlloc_seqcst; + > MichaelMap_DHP_cmp_stdAlloc_seqcst; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_cmp_michaelAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_cmp_michaelAlloc, typename cc::michael_map::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > >::type - > MichaelMap_HRC_cmp_michaelAlloc; + > MichaelMap_DHP_cmp_michaelAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_less_stdAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_less_stdAlloc, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_HRC_less_stdAlloc; + > MichaelMap_DHP_less_stdAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_less_stdAlloc_seqcst, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_less_stdAlloc_seqcst, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_HRC_less_stdAlloc_seqcst; + > MichaelMap_DHP_less_stdAlloc_seqcst; - typedef cc::MichaelHashMap< cds::gc::HRC, MichaelList_HRC_less_michaelAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, MichaelList_DHP_less_michaelAlloc, typename cc::michael_map::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > >::type - > MichaelMap_HRC_less_michaelAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_cmp_stdAlloc, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_PTB_cmp_stdAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_cmp_stdAlloc_seqcst, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_PTB_cmp_stdAlloc_seqcst; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_cmp_michaelAlloc, - typename cc::michael_map::make_traits< - co::hash< hash >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelMap_PTB_cmp_michaelAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_less_stdAlloc, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_PTB_less_stdAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_less_stdAlloc_seqcst, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_PTB_less_stdAlloc_seqcst; - - typedef cc::MichaelHashMap< cds::gc::PTB, MichaelList_PTB_less_michaelAlloc, - typename cc::michael_map::make_traits< - co::hash< hash >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelMap_PTB_less_michaelAlloc; + > MichaelMap_DHP_less_michaelAlloc; //RCU typedef cc::MichaelHashMap< rcu_gpi, MichaelList_RCU_GPI_cmp_stdAlloc, @@ -1094,85 +1013,45 @@ namespace map2 { >::type > LazyList_HP_less_michaelAlloc; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::compare< compare > >::type - > LazyList_HRC_cmp_stdAlloc; + > LazyList_DHP_cmp_stdAlloc; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::compare< compare > ,co::memory_model< co::v::sequential_consistent > >::type - > LazyList_HRC_cmp_stdAlloc_seqcst; + > LazyList_DHP_cmp_stdAlloc_seqcst; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::compare< compare >, co::allocator< memory::MichaelAllocator > >::type - > LazyList_HRC_cmp_michaelAlloc; + > LazyList_DHP_cmp_michaelAlloc; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::less< less > >::type - > LazyList_HRC_less_stdAlloc; + > LazyList_DHP_less_stdAlloc; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::less< less > ,co::memory_model< co::v::sequential_consistent > >::type - > LazyList_HRC_less_stdAlloc_seqcst; + > LazyList_DHP_less_stdAlloc_seqcst; - typedef cc::LazyKVList< cds::gc::HRC, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::less< less >, co::allocator< memory::MichaelAllocator > >::type - > LazyList_HRC_less_michaelAlloc; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::compare< compare > - >::type - > LazyList_PTB_cmp_stdAlloc; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > LazyList_PTB_cmp_stdAlloc_seqcst; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::compare< compare >, - co::allocator< memory::MichaelAllocator > - >::type - > LazyList_PTB_cmp_michaelAlloc; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::less< less > - >::type - > LazyList_PTB_less_stdAlloc; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > LazyList_PTB_less_stdAlloc_seqcst; - - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, - typename cc::lazy_list::make_traits< - co::less< less >, - co::allocator< memory::MichaelAllocator > - >::type - > LazyList_PTB_less_michaelAlloc; + > LazyList_DHP_less_michaelAlloc; // RCU typedef cc::LazyKVList< rcu_gpi, Key, Value, @@ -1463,81 +1342,43 @@ namespace map2 { >::type > MichaelMap_Lazy_HP_less_michaelAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_cmp_stdAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_cmp_stdAlloc, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_Lazy_HRC_cmp_stdAlloc; + > MichaelMap_Lazy_DHP_cmp_stdAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_cmp_stdAlloc_seqcst, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_cmp_stdAlloc_seqcst, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_Lazy_HRC_cmp_stdAlloc_seqcst; + > MichaelMap_Lazy_DHP_cmp_stdAlloc_seqcst; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_cmp_michaelAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_cmp_michaelAlloc, typename cc::michael_map::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > >::type - > MichaelMap_Lazy_HRC_cmp_michaelAlloc; + > MichaelMap_Lazy_DHP_cmp_michaelAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_less_stdAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_less_stdAlloc, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_Lazy_HRC_less_stdAlloc; + > MichaelMap_Lazy_DHP_less_stdAlloc; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_less_stdAlloc_seqcst, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_less_stdAlloc_seqcst, typename cc::michael_map::make_traits< co::hash< hash > >::type - > MichaelMap_Lazy_HRC_less_stdAlloc_seqcst; + > MichaelMap_Lazy_DHP_less_stdAlloc_seqcst; - typedef cc::MichaelHashMap< cds::gc::HRC, LazyList_HRC_less_michaelAlloc, + typedef cc::MichaelHashMap< cds::gc::DHP, LazyList_DHP_less_michaelAlloc, typename cc::michael_map::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > >::type - > MichaelMap_Lazy_HRC_less_michaelAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_cmp_stdAlloc, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_Lazy_PTB_cmp_stdAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_cmp_stdAlloc_seqcst, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_Lazy_PTB_cmp_stdAlloc_seqcst; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_cmp_michaelAlloc, - typename cc::michael_map::make_traits< - co::hash< hash >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelMap_Lazy_PTB_cmp_michaelAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_less_stdAlloc, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_Lazy_PTB_less_stdAlloc; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_less_stdAlloc_seqcst, - typename cc::michael_map::make_traits< - co::hash< hash > - >::type - > MichaelMap_Lazy_PTB_less_stdAlloc_seqcst; - - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_less_michaelAlloc, - typename cc::michael_map::make_traits< - co::hash< hash >, - co::allocator< memory::MichaelAllocator > - >::type - > MichaelMap_Lazy_PTB_less_michaelAlloc; + > MichaelMap_Lazy_DHP_less_michaelAlloc; // RCU typedef cc::MichaelHashMap< rcu_gpi, LazyList_RCU_GPI_cmp_stdAlloc, @@ -1889,8 +1730,8 @@ namespace map2 { {}; typedef cc::SplitListMap< cds::gc::HP, Key, Value, traits_SplitList_Michael_HP_st_less_seqcst > SplitList_Michael_HP_st_less_seqcst; - // HRC - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + // DHP + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -1900,9 +1741,9 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_dyn_cmp; + > SplitList_Michael_DHP_dyn_cmp; - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -1914,9 +1755,9 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_dyn_cmp_seqcst; + > SplitList_Michael_DHP_dyn_cmp_seqcst; - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,cc::split_list::dynamic_bucket_table< false > @@ -1927,9 +1768,9 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_st_cmp; + > SplitList_Michael_DHP_st_cmp; - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -1942,10 +1783,10 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_st_cmp_seqcst; + > SplitList_Michael_DHP_st_cmp_seqcst; - // HRC + less - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + // DHP + less + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -1955,9 +1796,9 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_dyn_less; + > SplitList_Michael_DHP_dyn_less; - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -1969,9 +1810,9 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_dyn_less_seqcst; + > SplitList_Michael_DHP_dyn_less_seqcst; - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,cc::split_list::dynamic_bucket_table< false > @@ -1982,96 +1823,14 @@ namespace map2 { >::type > >::type - > SplitList_Michael_HRC_st_less; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::dynamic_bucket_table< false > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Michael_HRC_st_less_seqcst; - - // PTB - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::compare< compare > - >::type - > - >::type - > SplitList_Michael_PTB_dyn_cmp; - - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Michael_PTB_dyn_cmp_seqcst; + > SplitList_Michael_DHP_st_less; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,cc::split_list::dynamic_bucket_table< false > - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::compare< compare > - >::type - > - >::type - > SplitList_Michael_PTB_st_cmp; - - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > ,cc::split_list::dynamic_bucket_table< false > ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Michael_PTB_st_cmp_seqcst; - - // PTB + less - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::less< less > - >::type - > - >::type - > SplitList_Michael_PTB_dyn_less; - - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,co::memory_model< co::v::sequential_consistent > ,cc::split_list::ordered_list_traits< typename cc::michael_list::make_traits< co::less< less > @@ -2079,35 +1838,7 @@ namespace map2 { >::type > >::type - > SplitList_Michael_PTB_dyn_less_seqcst; - - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,cc::split_list::dynamic_bucket_table< false > - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::less< less > - >::type - > - >::type - > SplitList_Michael_PTB_st_less; - - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::dynamic_bucket_table< false > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::michael_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Michael_PTB_st_less_seqcst; + > SplitList_Michael_DHP_st_less_seqcst; // RCU typedef cc::SplitListMap< rcu_gpi, Key, Value, @@ -2885,119 +2616,8 @@ namespace map2 { >::type > SplitList_Lazy_HP_st_less_seqcst; - // HRC - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::compare< compare > - >::type - > - >::type - > SplitList_Lazy_HRC_dyn_cmp; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Lazy_HRC_dyn_cmp_seqcst; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,cc::split_list::dynamic_bucket_table< false > - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::compare< compare > - >::type - > - >::type - > SplitList_Lazy_HRC_st_cmp; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::dynamic_bucket_table< false > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::compare< compare > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Lazy_HRC_st_cmp_seqcst; - - // HRC + less - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::less< less > - >::type - > - >::type - > SplitList_Lazy_HRC_dyn_less; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Lazy_HRC_dyn_less_seqcst; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,cc::split_list::dynamic_bucket_table< false > - ,co::hash< hash > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::less< less > - >::type - > - >::type - > SplitList_Lazy_HRC_st_less; - - typedef cc::SplitListMap< cds::gc::HRC, Key, Value, - typename cc::split_list::make_traits< - cc::split_list::ordered_list - ,co::hash< hash > - ,cc::split_list::dynamic_bucket_table< false > - ,co::memory_model< co::v::sequential_consistent > - ,cc::split_list::ordered_list_traits< - typename cc::lazy_list::make_traits< - co::less< less > - ,co::memory_model< co::v::sequential_consistent > - >::type - > - >::type - > SplitList_Lazy_HRC_st_less_seqcst; - - - // PTB - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + // DHP + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3007,9 +2627,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_dyn_cmp; + > SplitList_Lazy_DHP_dyn_cmp; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3021,9 +2641,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_dyn_cmp_seqcst; + > SplitList_Lazy_DHP_dyn_cmp_seqcst; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,cc::split_list::dynamic_bucket_table< false > @@ -3034,9 +2654,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_st_cmp; + > SplitList_Lazy_DHP_st_cmp; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3049,10 +2669,10 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_st_cmp_seqcst; + > SplitList_Lazy_DHP_st_cmp_seqcst; - // PTB + less - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + // DHP + less + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3062,9 +2682,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_dyn_less; + > SplitList_Lazy_DHP_dyn_less; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3076,9 +2696,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_dyn_less_seqcst; + > SplitList_Lazy_DHP_dyn_less_seqcst; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,cc::split_list::dynamic_bucket_table< false > @@ -3089,9 +2709,9 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_st_less; + > SplitList_Lazy_DHP_st_less; - typedef cc::SplitListMap< cds::gc::PTB, Key, Value, + typedef cc::SplitListMap< cds::gc::DHP, Key, Value, typename cc::split_list::make_traits< cc::split_list::ordered_list ,co::hash< hash > @@ -3104,7 +2724,7 @@ namespace map2 { >::type > >::type - > SplitList_Lazy_PTB_st_less_seqcst; + > SplitList_Lazy_DHP_st_less_seqcst; // RCU typedef cc::SplitListMap< rcu_gpi, Key, Value, @@ -3773,18 +3393,18 @@ namespace map2 { // StripedHashMap // for sequential containers - template + template class StripedHashMap_seq: public cc::StripedMap< BucketEntry, co::mutex_policy< cc::striped_set::striping<> > ,co::resizing_policy > - , CDS_OPTIONS7 + , Options... > { typedef cc::StripedMap< BucketEntry, co::mutex_policy< cc::striped_set::striping<> > ,co::resizing_policy > - , CDS_OPTIONS7 + , Options... > base_class; typedef typename base_class::resizing_policy resizing_policy_t; @@ -3796,18 +3416,18 @@ namespace map2 { }; // for non-sequential ordered containers - template + template class StripedHashMap_ord: public cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::striping<> > - , CDS_OPTIONS7 + , Options... > { typedef cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::striping<> > - , CDS_OPTIONS7 + , Options... > base_class; typedef typename base_class::resizing_policy resizing_policy_t; @@ -3825,7 +3445,7 @@ namespace map2 { , co::less< less > > StripedMap_list; -#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER < 1600 +#if (CDS_COMPILER == CDS_COMPILER_MSVC || (CDS_COMPILER == CDS_COMPILER_INTEL && CDS_OS_INTERFACE == CDS_OSI_WINDOWS)) && _MSC_VER < 1600 typedef StripedHashMap_ord< stdext::hash_map< Key, Value, stdext::hash_compare > , co::hash< hash2 > @@ -3877,18 +3497,18 @@ namespace map2 { // RefinableHashMap // for sequential containers - template + template class RefinableHashMap_seq: public cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::refinable<> > - , CDS_OPTIONS7 + , Options... > { typedef cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::refinable<> > - , CDS_OPTIONS7 + , Options... > base_class; typedef typename base_class::resizing_policy resizing_policy_t; @@ -3900,18 +3520,18 @@ namespace map2 { }; // for non-sequential ordered containers - template + template class RefinableHashMap_ord: public cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::refinable<> > - , CDS_OPTIONS7 + , Options... > { typedef cc::StripedMap< BucketEntry, co::resizing_policy > ,co::mutex_policy< cc::striped_set::refinable<> > - , CDS_OPTIONS7 + , Options... > base_class; typedef typename base_class::resizing_policy resizing_policy_t; @@ -3942,7 +3562,7 @@ namespace map2 { , co::hash< hash2 > > RefinableMap_map; -#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER < 1600 +#if (CDS_COMPILER == CDS_COMPILER_MSVC || (CDS_COMPILER == CDS_COMPILER_INTEL && CDS_OS_INTERFACE == CDS_OSI_WINDOWS)) && _MSC_VER < 1600 typedef RefinableHashMap_ord< stdext::hash_map< Key, Value, stdext::hash_compare > , co::hash< hash2 > @@ -4223,87 +3843,7 @@ namespace map2 { typedef cc::SkipListMap< cds::gc::HP, Key, Value, traits_SkipListMap_hp_cmp_xorshift_stat > SkipListMap_hp_cmp_xorshift_stat; // *************************************************************************** - // SkipListMap - HRC - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_less_pascal > SkipListMap_hrc_less_pascal; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_less_pascal_seqcst > SkipListMap_hrc_less_pascal_seqcst; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_less_pascal_stat > SkipListMap_hrc_less_pascal_stat; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_cmp_pascal > SkipListMap_hrc_cmp_pascal; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_cmp_pascal_stat > SkipListMap_hrc_cmp_pascal_stat; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_less_xorshift > SkipListMap_hrc_less_xorshift; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_less_xorshift_stat > SkipListMap_hrc_less_xorshift_stat; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_cmp_xorshift > SkipListMap_hrc_cmp_xorshift; - - class traits_SkipListMap_hrc_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::SkipListMap< cds::gc::HRC, Key, Value, traits_SkipListMap_hrc_cmp_xorshift_stat > SkipListMap_hrc_cmp_xorshift_stat; - - // *************************************************************************** - // SkipListMap - PTB + // SkipListMap - DHP class traits_SkipListMap_ptb_less_pascal: public cc::skip_list::make_traits < co::less< less > @@ -4311,7 +3851,7 @@ namespace map2 { ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_less_pascal > SkipListMap_ptb_less_pascal; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_less_pascal > SkipListMap_ptb_less_pascal; class traits_SkipListMap_ptb_less_pascal_seqcst: public cc::skip_list::make_traits < co::less< less > @@ -4320,7 +3860,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_less_pascal_seqcst > SkipListMap_ptb_less_pascal_seqcst; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_less_pascal_seqcst > SkipListMap_ptb_less_pascal_seqcst; class traits_SkipListMap_ptb_less_pascal_stat: public cc::skip_list::make_traits < co::less< less > @@ -4329,7 +3869,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_less_pascal_stat > SkipListMap_ptb_less_pascal_stat; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_less_pascal_stat > SkipListMap_ptb_less_pascal_stat; class traits_SkipListMap_ptb_cmp_pascal: public cc::skip_list::make_traits < co::compare< compare > @@ -4337,7 +3877,7 @@ namespace map2 { ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_cmp_pascal > SkipListMap_ptb_cmp_pascal; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_cmp_pascal > SkipListMap_ptb_cmp_pascal; class traits_SkipListMap_ptb_cmp_pascal_stat: public cc::skip_list::make_traits < co::compare< compare > @@ -4346,7 +3886,7 @@ namespace map2 { ,co::stat< cc::skip_list::stat<> > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_cmp_pascal_stat > SkipListMap_ptb_cmp_pascal_stat; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_cmp_pascal_stat > SkipListMap_ptb_cmp_pascal_stat; class traits_SkipListMap_ptb_less_xorshift: public cc::skip_list::make_traits < co::less< less > @@ -4354,7 +3894,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_less_xorshift > SkipListMap_ptb_less_xorshift; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_less_xorshift > SkipListMap_ptb_less_xorshift; class traits_SkipListMap_ptb_less_xorshift_stat: public cc::skip_list::make_traits < co::less< less > @@ -4363,7 +3903,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_less_xorshift_stat > SkipListMap_ptb_less_xorshift_stat; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_less_xorshift_stat > SkipListMap_ptb_less_xorshift_stat; class traits_SkipListMap_ptb_cmp_xorshift: public cc::skip_list::make_traits < co::compare< compare > @@ -4371,7 +3911,7 @@ namespace map2 { ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_cmp_xorshift > SkipListMap_ptb_cmp_xorshift; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_cmp_xorshift > SkipListMap_ptb_cmp_xorshift; class traits_SkipListMap_ptb_cmp_xorshift_stat: public cc::skip_list::make_traits < co::compare< compare > @@ -4380,7 +3920,7 @@ namespace map2 { ,co::stat< cc::skip_list::stat<> > >::type {}; - typedef cc::SkipListMap< cds::gc::PTB, Key, Value, traits_SkipListMap_ptb_cmp_xorshift_stat > SkipListMap_ptb_cmp_xorshift_stat; + typedef cc::SkipListMap< cds::gc::DHP, Key, Value, traits_SkipListMap_ptb_cmp_xorshift_stat > SkipListMap_ptb_cmp_xorshift_stat; // *************************************************************************** // SkipListMap< gc::nogc > @@ -4391,8 +3931,8 @@ namespace map2 { ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal > > SkipListMap_nogc_less_pascal; class traits_SkipListMap_nogc_less_pascal_seqcst: public cc::skip_list::make_traits < @@ -4402,8 +3942,8 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal_seqcst > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal_seqcst > > SkipListMap_nogc_less_pascal_seqcst; class traits_SkipListMap_nogc_less_pascal_stat: public cc::skip_list::make_traits < @@ -4413,8 +3953,8 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal_stat > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_pascal_stat > > SkipListMap_nogc_less_pascal_stat; class traits_SkipListMap_nogc_cmp_pascal: public cc::skip_list::make_traits < @@ -4424,7 +3964,7 @@ namespace map2 { >::type {}; typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_pascal > + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_pascal > > SkipListMap_nogc_cmp_pascal; class traits_SkipListMap_nogc_cmp_pascal_stat: public cc::skip_list::make_traits < @@ -4434,8 +3974,8 @@ namespace map2 { ,co::stat< cc::skip_list::stat<> > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_pascal_stat > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_pascal_stat > > SkipListMap_nogc_cmp_pascal_stat; class traits_SkipListMap_nogc_less_xorshift: public cc::skip_list::make_traits < @@ -4444,8 +3984,8 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_xorshift > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_xorshift > > SkipListMap_nogc_less_xorshift; class traits_SkipListMap_nogc_less_xorshift_stat: public cc::skip_list::make_traits < @@ -4455,8 +3995,8 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_xorshift_stat > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_less_xorshift_stat > > SkipListMap_nogc_less_xorshift_stat; class traits_SkipListMap_nogc_cmp_xorshift: public cc::skip_list::make_traits < @@ -4465,8 +4005,8 @@ namespace map2 { ,cc::skip_list::random_level_generator< cc::skip_list::xorshift > >::type {}; - typedef NogcMapWrapper_dctor< cc::SkipListMap< - cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_xorshift > + typedef NogcMapWrapper_dctor< cc::SkipListMap< + cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_xorshift > > SkipListMap_nogc_cmp_xorshift; class traits_SkipListMap_nogc_cmp_xorshift_stat: public cc::skip_list::make_traits < @@ -4476,8 +4016,8 @@ namespace map2 { ,co::stat< cc::skip_list::stat<> > >::type {}; - typedef NogcMapWrapper_dctor< - cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_xorshift_stat > + typedef NogcMapWrapper_dctor< + cc::SkipListMap< cds::gc::nogc, Key, Value, traits_SkipListMap_nogc_cmp_xorshift_stat > > SkipListMap_nogc_cmp_xorshift_stat; // *************************************************************************** @@ -4892,7 +4432,7 @@ namespace map2 { typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; }; struct ptb_gc { - typedef cc::ellen_bintree::map_node leaf_node; + typedef cc::ellen_bintree::map_node leaf_node; typedef cc::ellen_bintree::internal_node< Key, leaf_node > internal_node; typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; }; @@ -4953,7 +4493,7 @@ namespace map2 { typedef cc::EllenBinTreeMap< cds::gc::HP, Key, Value, traits_EllenBinTreeMap_hp_stat > EllenBinTreeMap_hp_stat; // *************************************************************************** - // EllenBinTreeMap - PTB + // EllenBinTreeMap - DHP struct traits_EllenBinTreeMap_ptb: public cc::ellen_bintree::make_set_traits< co::less< less > @@ -4964,7 +4504,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::EllenBinTreeMap< cds::gc::PTB, Key, Value, traits_EllenBinTreeMap_ptb> EllenBinTreeMap_ptb; + typedef cc::EllenBinTreeMap< cds::gc::DHP, Key, Value, traits_EllenBinTreeMap_ptb> EllenBinTreeMap_ptb; struct traits_EllenBinTreeMap_ptb_stat: public cc::ellen_bintree::make_set_traits< co::less< less > @@ -4976,7 +4516,7 @@ namespace map2 { ,co::item_counter< cds::atomicity::item_counter > >::type {}; - typedef cc::EllenBinTreeMap< cds::gc::PTB, Key, Value, traits_EllenBinTreeMap_ptb_stat > EllenBinTreeMap_ptb_stat; + typedef cc::EllenBinTreeMap< cds::gc::DHP, Key, Value, traits_EllenBinTreeMap_ptb_stat > EllenBinTreeMap_ptb_stat; // *************************************************************************** // EllenBinTreeMap - RCU @@ -5180,17 +4720,17 @@ namespace map2 { } - template - static inline void print_stat( CuckooStripedMap< K, V, CDS_OPTIONS10 > const& m ) + template + static inline void print_stat( CuckooStripedMap< K, V, Options... > const& m ) { - typedef CuckooStripedMap< K, V, CDS_OPTIONS10 > map_type; + typedef CuckooStripedMap< K, V, Options... > map_type; print_stat( static_cast(m) ); } - template - static inline void print_stat( CuckooRefinableMap< K, V, CDS_OPTIONS10 > const& m ) + template + static inline void print_stat( CuckooRefinableMap< K, V, Options... > const& m ) { - typedef CuckooRefinableMap< K, V, CDS_OPTIONS10 > map_type; + typedef CuckooRefinableMap< K, V, Options... > map_type; print_stat( static_cast(m) ); }