From: khizmax Date: Thu, 23 Oct 2014 15:05:26 +0000 (+0400) Subject: rename lazy_list_ptb.h to lazy_list_dhp.h X-Git-Tag: v2.0.0~181 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c08a6ea8673fb6e9fcfd8257a2886814836387e1;p=libcds.git rename lazy_list_ptb.h to lazy_list_dhp.h --- diff --git a/cds/container/impl/lazy_kvlist.h b/cds/container/impl/lazy_kvlist.h index 4eece5c9..d736e620 100644 --- a/cds/container/impl/lazy_kvlist.h +++ b/cds/container/impl/lazy_kvlist.h @@ -76,7 +76,7 @@ namespace cds { namespace container { There are different specializations of this template for each garbage collecting schema used. You should include appropriate .h-file depending on GC you are using: - for gc::HP: \code #include \endcode - - for gc::PTB: \code #include \endcode + - for gc::DHP: \code #include \endcode - for \ref cds_urcu_desc "RCU": \code #include \endcode - for gc::nogc: \code #include \endcode */ diff --git a/cds/container/impl/lazy_list.h b/cds/container/impl/lazy_list.h index fd8a56c9..427dcaf2 100644 --- a/cds/container/impl/lazy_list.h +++ b/cds/container/impl/lazy_list.h @@ -92,7 +92,7 @@ namespace cds { namespace container { There are different specializations of this template for each garbage collecting schema used. You should include appropriate .h-file depending on GC you are using: - for gc::HP: \code #include \endcode - - for gc::PTB: \code #include \endcode + - for gc::DHP: \code #include \endcode - for \ref cds_urcu_desc "RCU": \code #include \endcode - for gc::nogc: \code #include \endcode */ diff --git a/cds/container/lazy_kvlist_dhp.h b/cds/container/lazy_kvlist_dhp.h new file mode 100644 index 00000000..fa5708f4 --- /dev/null +++ b/cds/container/lazy_kvlist_dhp.h @@ -0,0 +1,11 @@ +//$$CDS-header$$ + +#ifndef __CDS_CONTAINER_LAZY_KVLIST_DHP_H +#define __CDS_CONTAINER_LAZY_KVLIST_DHP_H + +#include +#include +#include +#include + +#endif // #ifndef __CDS_CONTAINER_LAZY_KVLIST_DHP_H diff --git a/cds/container/lazy_kvlist_ptb.h b/cds/container/lazy_kvlist_ptb.h deleted file mode 100644 index 8b448f38..00000000 --- a/cds/container/lazy_kvlist_ptb.h +++ /dev/null @@ -1,11 +0,0 @@ -//$$CDS-header$$ - -#ifndef __CDS_CONTAINER_LAZY_KVLIST_PTB_H -#define __CDS_CONTAINER_LAZY_KVLIST_PTB_H - -#include -#include -#include -#include - -#endif // #ifndef __CDS_CONTAINER_LAZY_KVLIST_PTB_H diff --git a/cds/container/lazy_list_dhp.h b/cds/container/lazy_list_dhp.h new file mode 100644 index 00000000..68343e3d --- /dev/null +++ b/cds/container/lazy_list_dhp.h @@ -0,0 +1,11 @@ +//$$CDS-header$$ + +#ifndef __CDS_CONTAINER_LAZY_LIST_DHP_H +#define __CDS_CONTAINER_LAZY_LIST_DHP_H + +#include +#include +#include +#include + +#endif // #ifndef __CDS_CONTAINER_LAZY_LIST_DHP_H diff --git a/cds/container/lazy_list_ptb.h b/cds/container/lazy_list_ptb.h deleted file mode 100644 index 8bc2750a..00000000 --- a/cds/container/lazy_list_ptb.h +++ /dev/null @@ -1,11 +0,0 @@ -//$$CDS-header$$ - -#ifndef __CDS_CONTAINER_LAZY_LIST_PTB_H -#define __CDS_CONTAINER_LAZY_LIST_PTB_H - -#include -#include -#include -#include - -#endif // #ifndef __CDS_CONTAINER_LAZY_LIST_PTB_H diff --git a/cds/container/split_list_set.h b/cds/container/split_list_set.h index 1cf94eec..b353cdd7 100644 --- a/cds/container/split_list_set.h +++ b/cds/container/split_list_set.h @@ -33,10 +33,10 @@ namespace cds { namespace container { \par Usage You should decide what garbage collector you want, and what ordered list you want to use. Split-ordered list - is original data structure based on an ordered list. Suppose, you want construct split-list set based on gc::PTB GC + is original data structure based on an ordered list. Suppose, you want construct split-list set based on gc::DHP GC and LazyList as ordered list implementation. So, you beginning your program with following include: \code - #include + #include #include namespace cc = cds::container; @@ -47,7 +47,7 @@ namespace cds { namespace container { std::string strValue ; // value field }; \endcode - The inclusion order is important: first, include header for ordered-list implementation (for this example, cds/container/lazy_list_ptb.h), + The inclusion order is important: first, include header for ordered-list implementation (for this example, cds/container/lazy_list_dhp.h), then the header for split-list set cds/container/split_list_set.h. Now, you should declare traits for split-list set. The main parts of traits are a hash functor for the set and a comparing functor for ordered list. diff --git a/cds/intrusive/impl/lazy_list.h b/cds/intrusive/impl/lazy_list.h index 1e60ecbf..13df8049 100644 --- a/cds/intrusive/impl/lazy_list.h +++ b/cds/intrusive/impl/lazy_list.h @@ -89,7 +89,7 @@ namespace cds { namespace intrusive { There are different specializations of this template for each garbage collecting schema used. You should select GC needed and include appropriate .h-file: - for gc::HP: \code #include \endcode - - for gc::PTB: \code #include \endcode + - for gc::DHP: \code #include \endcode - for gc::nogc: \code #include \endcode - for \ref cds_urcu_type "RCU" - see \ref cds_intrusive_LazyList_rcu "LazyList RCU specialization" @@ -100,7 +100,7 @@ namespace cds { namespace intrusive { Example for gc::PTB and base hook: \code // Include GC-related lazy list specialization - #include + #include // Data stored in lazy list struct my_data: public cds::intrusive::lazy_list::node< cds::gc::PTB > @@ -145,7 +145,7 @@ namespace cds { namespace intrusive { Equivalent option-based code: \code // GC-related specialization - #include + #include struct my_data { // see above diff --git a/cds/intrusive/lazy_list_dhp.h b/cds/intrusive/lazy_list_dhp.h new file mode 100644 index 00000000..26ed8c7f --- /dev/null +++ b/cds/intrusive/lazy_list_dhp.h @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#ifndef __CDS_INTRUSIVE_LAZY_LIST_DHP_H +#define __CDS_INTRUSIVE_LAZY_LIST_DHP_H + +#include +#include + +#endif // #ifndef __CDS_INTRUSIVE_LAZY_LIST_DHP_H diff --git a/cds/intrusive/lazy_list_ptb.h b/cds/intrusive/lazy_list_ptb.h deleted file mode 100644 index 3892e0ff..00000000 --- a/cds/intrusive/lazy_list_ptb.h +++ /dev/null @@ -1,9 +0,0 @@ -//$$CDS-header$$ - -#ifndef __CDS_INTRUSIVE_LAZY_LIST_PTB_H -#define __CDS_INTRUSIVE_LAZY_LIST_PTB_H - -#include -#include - -#endif // #ifndef __CDS_INTRUSIVE_LAZY_LIST_PTB_H diff --git a/projects/Win/vc12/cds.vcxproj b/projects/Win/vc12/cds.vcxproj index 48b3c62a..5f2d1285 100644 --- a/projects/Win/vc12/cds.vcxproj +++ b/projects/Win/vc12/cds.vcxproj @@ -682,7 +682,9 @@ + + @@ -762,6 +764,7 @@ + @@ -930,7 +933,6 @@ - @@ -950,10 +952,8 @@ - - diff --git a/projects/Win/vc12/cds.vcxproj.filters b/projects/Win/vc12/cds.vcxproj.filters index bef684be..e5ae6fa2 100644 --- a/projects/Win/vc12/cds.vcxproj.filters +++ b/projects/Win/vc12/cds.vcxproj.filters @@ -545,9 +545,6 @@ Header Files\cds\intrusive - - Header Files\cds\intrusive - Header Files\cds\intrusive @@ -605,18 +602,12 @@ Header Files\cds\container - - Header Files\cds\container - Header Files\cds\container Header Files\cds\container - - Header Files\cds\container - Header Files\cds\container @@ -1232,5 +1223,14 @@ Header Files\cds\container + + Header Files\cds\intrusive + + + Header Files\cds\container + + + Header Files\cds\container + \ No newline at end of file diff --git a/projects/Win/vc12/hdr-test-ordered-list.vcxproj b/projects/Win/vc12/hdr-test-ordered-list.vcxproj index 68ac2545..12eb0167 100644 --- a/projects/Win/vc12/hdr-test-ordered-list.vcxproj +++ b/projects/Win/vc12/hdr-test-ordered-list.vcxproj @@ -543,9 +543,9 @@ + - @@ -559,17 +559,17 @@ + + - - diff --git a/projects/Win/vc12/hdr-test-ordered-list.vcxproj.filters b/projects/Win/vc12/hdr-test-ordered-list.vcxproj.filters index 07fd2c66..55b8bdfe 100644 --- a/projects/Win/vc12/hdr-test-ordered-list.vcxproj.filters +++ b/projects/Win/vc12/hdr-test-ordered-list.vcxproj.filters @@ -7,9 +7,6 @@ intrusive - - intrusive - intrusive @@ -46,15 +43,9 @@ container - - container - container - - container - container @@ -145,6 +136,15 @@ container + + intrusive + + + container + + + container + diff --git a/tests/test-hdr/map/hdr_michael_map_lazy_ptb.cpp b/tests/test-hdr/map/hdr_michael_map_lazy_ptb.cpp index f083e0a6..ed553331 100644 --- a/tests/test-hdr/map/hdr_michael_map_lazy_ptb.cpp +++ b/tests/test-hdr/map/hdr_michael_map_lazy_ptb.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "map/hdr_map.h" -#include +#include #include namespace map { diff --git a/tests/test-hdr/map/hdr_splitlist_map_lazy_ptb.cpp b/tests/test-hdr/map/hdr_splitlist_map_lazy_ptb.cpp index 7ad4b284..6e7ab77e 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_lazy_ptb.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_lazy_ptb.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "map/hdr_map.h" -#include +#include #include namespace map { diff --git a/tests/test-hdr/ordered_list/hdr_intrusive_lazy.h b/tests/test-hdr/ordered_list/hdr_intrusive_lazy.h index 4af44724..2c910c90 100644 --- a/tests/test-hdr/ordered_list/hdr_intrusive_lazy.h +++ b/tests/test-hdr/ordered_list/hdr_intrusive_lazy.h @@ -735,14 +735,14 @@ namespace ordlist { void HP_member_cmpmix(); void HP_member_ic(); - void PTB_base_cmp(); - void PTB_base_less(); - void PTB_base_cmpmix(); - void PTB_base_ic(); - void PTB_member_cmp(); - void PTB_member_less(); - void PTB_member_cmpmix(); - void PTB_member_ic(); + void DHP_base_cmp(); + void DHP_base_less(); + void DHP_base_cmpmix(); + void DHP_base_ic(); + void DHP_member_cmp(); + void DHP_member_less(); + void DHP_member_cmpmix(); + void DHP_member_ic(); void RCU_GPI_base_cmp(); void RCU_GPI_base_less(); @@ -809,14 +809,14 @@ namespace ordlist { CPPUNIT_TEST(HP_member_cmpmix) CPPUNIT_TEST(HP_member_ic) - CPPUNIT_TEST(PTB_base_cmp) - CPPUNIT_TEST(PTB_base_less) - CPPUNIT_TEST(PTB_base_cmpmix) - CPPUNIT_TEST(PTB_base_ic) - CPPUNIT_TEST(PTB_member_cmp) - CPPUNIT_TEST(PTB_member_less) - CPPUNIT_TEST(PTB_member_cmpmix) - CPPUNIT_TEST(PTB_member_ic) + CPPUNIT_TEST(DHP_base_cmp) + CPPUNIT_TEST(DHP_base_less) + CPPUNIT_TEST(DHP_base_cmpmix) + CPPUNIT_TEST(DHP_base_ic) + CPPUNIT_TEST(DHP_member_cmp) + CPPUNIT_TEST(DHP_member_less) + CPPUNIT_TEST(DHP_member_cmpmix) + CPPUNIT_TEST(DHP_member_ic) CPPUNIT_TEST(RCU_GPI_base_cmp) CPPUNIT_TEST(RCU_GPI_base_less) diff --git a/tests/test-hdr/ordered_list/hdr_intrusive_lazy_dhp.cpp b/tests/test-hdr/ordered_list/hdr_intrusive_lazy_dhp.cpp new file mode 100644 index 00000000..6d8a7a5e --- /dev/null +++ b/tests/test-hdr/ordered_list/hdr_intrusive_lazy_dhp.cpp @@ -0,0 +1,129 @@ +//$$CDS-header$$ + +#include "ordered_list/hdr_intrusive_lazy.h" +#include + +namespace ordlist { + void IntrusiveLazyListHeaderTest::DHP_base_cmp() + { + typedef base_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::base_hook< co::gc > > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_base_less() + { + typedef base_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::base_hook< co::gc > > + ,co::less< less > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_base_cmpmix() + { + typedef base_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::base_hook< co::gc > > + ,co::less< less > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_base_ic() + { + typedef base_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::base_hook< co::gc > > + ,co::less< less > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + ,co::item_counter< cds::atomicity::item_counter > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_member_cmp() + { + typedef member_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::member_hook< + offsetof( item, hMember ), + co::gc + > > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_member_less() + { + typedef member_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::member_hook< + offsetof( item, hMember ), + co::gc + > > + ,co::less< less > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_member_cmpmix() + { + typedef member_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::member_hook< + offsetof( item, hMember ), + co::gc + > > + ,co::less< less > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + >::type + > list; + test_int(); + } + void IntrusiveLazyListHeaderTest::DHP_member_ic() + { + typedef member_int_item< cds::gc::DHP > item; + typedef ci::LazyList< cds::gc::DHP + ,item + ,ci::lazy_list::make_traits< + ci::opt::hook< ci::lazy_list::member_hook< + offsetof( item, hMember ), + co::gc + > > + ,co::compare< cmp > + ,ci::opt::disposer< faked_disposer > + ,co::item_counter< cds::atomicity::item_counter > + >::type + > list; + test_int(); + } + +} // namespace ordlist diff --git a/tests/test-hdr/ordered_list/hdr_intrusive_lazy_ptb.cpp b/tests/test-hdr/ordered_list/hdr_intrusive_lazy_ptb.cpp deleted file mode 100644 index 057db78e..00000000 --- a/tests/test-hdr/ordered_list/hdr_intrusive_lazy_ptb.cpp +++ /dev/null @@ -1,129 +0,0 @@ -//$$CDS-header$$ - -#include "ordered_list/hdr_intrusive_lazy.h" -#include - -namespace ordlist { - void IntrusiveLazyListHeaderTest::PTB_base_cmp() - { - typedef base_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::base_hook< co::gc > > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_base_less() - { - typedef base_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::base_hook< co::gc > > - ,co::less< less > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_base_cmpmix() - { - typedef base_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::base_hook< co::gc > > - ,co::less< less > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_base_ic() - { - typedef base_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::base_hook< co::gc > > - ,co::less< less > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - ,co::item_counter< cds::atomicity::item_counter > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_member_cmp() - { - typedef member_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::member_hook< - offsetof( item, hMember ), - co::gc - > > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_member_less() - { - typedef member_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::member_hook< - offsetof( item, hMember ), - co::gc - > > - ,co::less< less > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_member_cmpmix() - { - typedef member_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::member_hook< - offsetof( item, hMember ), - co::gc - > > - ,co::less< less > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - >::type - > list; - test_int(); - } - void IntrusiveLazyListHeaderTest::PTB_member_ic() - { - typedef member_int_item< cds::gc::PTB > item; - typedef ci::LazyList< cds::gc::PTB - ,item - ,ci::lazy_list::make_traits< - ci::opt::hook< ci::lazy_list::member_hook< - offsetof( item, hMember ), - co::gc - > > - ,co::compare< cmp > - ,ci::opt::disposer< faked_disposer > - ,co::item_counter< cds::atomicity::item_counter > - >::type - > list; - test_int(); - } - -} // namespace ordlist diff --git a/tests/test-hdr/ordered_list/hdr_lazy.h b/tests/test-hdr/ordered_list/hdr_lazy.h index d90476d5..bbaac658 100644 --- a/tests/test-hdr/ordered_list/hdr_lazy.h +++ b/tests/test-hdr/ordered_list/hdr_lazy.h @@ -678,10 +678,10 @@ namespace ordlist { void HP_cmpmix(); void HP_ic(); - void PTB_cmp(); - void PTB_less(); - void PTB_cmpmix(); - void PTB_ic(); + void DHP_cmp(); + void DHP_less(); + void DHP_cmpmix(); + void DHP_ic(); void RCU_GPI_cmp(); void RCU_GPI_less(); @@ -719,10 +719,10 @@ namespace ordlist { CPPUNIT_TEST(HP_cmpmix) CPPUNIT_TEST(HP_ic) - CPPUNIT_TEST(PTB_cmp) - CPPUNIT_TEST(PTB_less) - CPPUNIT_TEST(PTB_cmpmix) - CPPUNIT_TEST(PTB_ic) + CPPUNIT_TEST(DHP_cmp) + CPPUNIT_TEST(DHP_less) + CPPUNIT_TEST(DHP_cmpmix) + CPPUNIT_TEST(DHP_ic) CPPUNIT_TEST(RCU_GPI_cmp) CPPUNIT_TEST(RCU_GPI_less) diff --git a/tests/test-hdr/ordered_list/hdr_lazy_dhp.cpp b/tests/test-hdr/ordered_list/hdr_lazy_dhp.cpp new file mode 100644 index 00000000..2e14d9f5 --- /dev/null +++ b/tests/test-hdr/ordered_list/hdr_lazy_dhp.cpp @@ -0,0 +1,100 @@ +//$$CDS-header$$ + +#include "ordered_list/hdr_lazy.h" +#include + +namespace ordlist { + namespace { + struct DHP_cmp_traits: public cc::lazy_list::type_traits + { + typedef LazyListTestHeader::cmp compare; + }; + } + void LazyListTestHeader::DHP_cmp() + { + // traits-based version + typedef cc::LazyList< cds::gc::DHP, item, DHP_cmp_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyList< cds::gc::DHP, item, + cc::lazy_list::make_traits< + cc::opt::compare< cmp > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_less_traits: public cc::lazy_list::type_traits + { + typedef LazyListTestHeader::lt less; + }; + } + void LazyListTestHeader::DHP_less() + { + // traits-based version + typedef cc::LazyList< cds::gc::DHP, item, DHP_less_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyList< cds::gc::DHP, item, + cc::lazy_list::make_traits< + cc::opt::less< lt > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_cmpmix_traits: public cc::lazy_list::type_traits + { + typedef LazyListTestHeader::cmp compare; + typedef LazyListTestHeader::lt less; + }; + } + void LazyListTestHeader::DHP_cmpmix() + { + // traits-based version + typedef cc::LazyList< cds::gc::DHP, item, DHP_cmpmix_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyList< cds::gc::DHP, item, + cc::lazy_list::make_traits< + cc::opt::compare< cmp > + ,cc::opt::less< lt > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_ic_traits: public cc::lazy_list::type_traits + { + typedef LazyListTestHeader::lt less; + typedef cds::atomicity::item_counter item_counter; + }; + } + void LazyListTestHeader::DHP_ic() + { + // traits-based version + typedef cc::LazyList< cds::gc::DHP, item, DHP_ic_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyList< cds::gc::DHP, item, + cc::lazy_list::make_traits< + cc::opt::less< lt > + ,cc::opt::item_counter< cds::atomicity::item_counter > + >::type + > opt_list; + test< opt_list >(); + } + +} // namespace ordlist + diff --git a/tests/test-hdr/ordered_list/hdr_lazy_kv.h b/tests/test-hdr/ordered_list/hdr_lazy_kv.h index 76cb0457..ccbd7117 100644 --- a/tests/test-hdr/ordered_list/hdr_lazy_kv.h +++ b/tests/test-hdr/ordered_list/hdr_lazy_kv.h @@ -590,10 +590,10 @@ namespace ordlist { void HP_cmpmix(); void HP_ic(); - void PTB_cmp(); - void PTB_less(); - void PTB_cmpmix(); - void PTB_ic(); + void DHP_cmp(); + void DHP_less(); + void DHP_cmpmix(); + void DHP_ic(); void RCU_GPI_cmp(); void RCU_GPI_less(); @@ -631,10 +631,10 @@ namespace ordlist { CPPUNIT_TEST(HP_cmpmix) CPPUNIT_TEST(HP_ic) - CPPUNIT_TEST(PTB_cmp) - CPPUNIT_TEST(PTB_less) - CPPUNIT_TEST(PTB_cmpmix) - CPPUNIT_TEST(PTB_ic) + CPPUNIT_TEST(DHP_cmp) + CPPUNIT_TEST(DHP_less) + CPPUNIT_TEST(DHP_cmpmix) + CPPUNIT_TEST(DHP_ic) CPPUNIT_TEST(RCU_GPI_cmp) CPPUNIT_TEST(RCU_GPI_less) diff --git a/tests/test-hdr/ordered_list/hdr_lazy_kv_dhp.cpp b/tests/test-hdr/ordered_list/hdr_lazy_kv_dhp.cpp new file mode 100644 index 00000000..9ecd60eb --- /dev/null +++ b/tests/test-hdr/ordered_list/hdr_lazy_kv_dhp.cpp @@ -0,0 +1,100 @@ +//$$CDS-header$$ + +#include "ordered_list/hdr_lazy_kv.h" +#include + +namespace ordlist { + namespace { + struct DHP_cmp_traits: public cc::lazy_list::type_traits + { + typedef LazyKVListTestHeader::cmp compare; + }; + } + void LazyKVListTestHeader::DHP_cmp() + { + // traits-based version + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, DHP_cmp_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, + cc::lazy_list::make_traits< + cc::opt::compare< cmp > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_less_traits: public cc::lazy_list::type_traits + { + typedef LazyKVListTestHeader::lt less; + }; + } + void LazyKVListTestHeader::DHP_less() + { + // traits-based version + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, DHP_less_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, + cc::lazy_list::make_traits< + cc::opt::less< lt > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_cmpmix_traits: public cc::lazy_list::type_traits + { + typedef LazyKVListTestHeader::cmp compare; + typedef LazyKVListTestHeader::lt less; + }; + } + void LazyKVListTestHeader::DHP_cmpmix() + { + // traits-based version + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, DHP_cmpmix_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, + cc::lazy_list::make_traits< + cc::opt::compare< cmp > + ,cc::opt::less< lt > + >::type + > opt_list; + test< opt_list >(); + } + + namespace { + struct DHP_ic_traits: public cc::lazy_list::type_traits + { + typedef LazyKVListTestHeader::lt less; + typedef cds::atomicity::item_counter item_counter; + }; + } + void LazyKVListTestHeader::DHP_ic() + { + // traits-based version + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, DHP_ic_traits > list; + test< list >(); + + // option-based version + + typedef cc::LazyKVList< cds::gc::DHP, key_type, value_type, + cc::lazy_list::make_traits< + cc::opt::less< lt > + ,cc::opt::item_counter< cds::atomicity::item_counter > + >::type + > opt_list; + test< opt_list >(); + } + +} // namespace ordlist + diff --git a/tests/test-hdr/ordered_list/hdr_lazy_kv_ptb.cpp b/tests/test-hdr/ordered_list/hdr_lazy_kv_ptb.cpp deleted file mode 100644 index 5c02e574..00000000 --- a/tests/test-hdr/ordered_list/hdr_lazy_kv_ptb.cpp +++ /dev/null @@ -1,100 +0,0 @@ -//$$CDS-header$$ - -#include "ordered_list/hdr_lazy_kv.h" -#include - -namespace ordlist { - namespace { - struct PTB_cmp_traits: public cc::lazy_list::type_traits - { - typedef LazyKVListTestHeader::cmp compare; - }; - } - void LazyKVListTestHeader::PTB_cmp() - { - // traits-based version - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, PTB_cmp_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, - cc::lazy_list::make_traits< - cc::opt::compare< cmp > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_less_traits: public cc::lazy_list::type_traits - { - typedef LazyKVListTestHeader::lt less; - }; - } - void LazyKVListTestHeader::PTB_less() - { - // traits-based version - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, PTB_less_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, - cc::lazy_list::make_traits< - cc::opt::less< lt > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_cmpmix_traits: public cc::lazy_list::type_traits - { - typedef LazyKVListTestHeader::cmp compare; - typedef LazyKVListTestHeader::lt less; - }; - } - void LazyKVListTestHeader::PTB_cmpmix() - { - // traits-based version - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, PTB_cmpmix_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, - cc::lazy_list::make_traits< - cc::opt::compare< cmp > - ,cc::opt::less< lt > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_ic_traits: public cc::lazy_list::type_traits - { - typedef LazyKVListTestHeader::lt less; - typedef cds::atomicity::item_counter item_counter; - }; - } - void LazyKVListTestHeader::PTB_ic() - { - // traits-based version - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, PTB_ic_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyKVList< cds::gc::PTB, key_type, value_type, - cc::lazy_list::make_traits< - cc::opt::less< lt > - ,cc::opt::item_counter< cds::atomicity::item_counter > - >::type - > opt_list; - test< opt_list >(); - } - -} // namespace ordlist - diff --git a/tests/test-hdr/ordered_list/hdr_lazy_ptb.cpp b/tests/test-hdr/ordered_list/hdr_lazy_ptb.cpp deleted file mode 100644 index dbd0ba3f..00000000 --- a/tests/test-hdr/ordered_list/hdr_lazy_ptb.cpp +++ /dev/null @@ -1,100 +0,0 @@ -//$$CDS-header$$ - -#include "ordered_list/hdr_lazy.h" -#include - -namespace ordlist { - namespace { - struct PTB_cmp_traits: public cc::lazy_list::type_traits - { - typedef LazyListTestHeader::cmp compare; - }; - } - void LazyListTestHeader::PTB_cmp() - { - // traits-based version - typedef cc::LazyList< cds::gc::PTB, item, PTB_cmp_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyList< cds::gc::PTB, item, - cc::lazy_list::make_traits< - cc::opt::compare< cmp > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_less_traits: public cc::lazy_list::type_traits - { - typedef LazyListTestHeader::lt less; - }; - } - void LazyListTestHeader::PTB_less() - { - // traits-based version - typedef cc::LazyList< cds::gc::PTB, item, PTB_less_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyList< cds::gc::PTB, item, - cc::lazy_list::make_traits< - cc::opt::less< lt > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_cmpmix_traits: public cc::lazy_list::type_traits - { - typedef LazyListTestHeader::cmp compare; - typedef LazyListTestHeader::lt less; - }; - } - void LazyListTestHeader::PTB_cmpmix() - { - // traits-based version - typedef cc::LazyList< cds::gc::PTB, item, PTB_cmpmix_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyList< cds::gc::PTB, item, - cc::lazy_list::make_traits< - cc::opt::compare< cmp > - ,cc::opt::less< lt > - >::type - > opt_list; - test< opt_list >(); - } - - namespace { - struct PTB_ic_traits: public cc::lazy_list::type_traits - { - typedef LazyListTestHeader::lt less; - typedef cds::atomicity::item_counter item_counter; - }; - } - void LazyListTestHeader::PTB_ic() - { - // traits-based version - typedef cc::LazyList< cds::gc::PTB, item, PTB_ic_traits > list; - test< list >(); - - // option-based version - - typedef cc::LazyList< cds::gc::PTB, item, - cc::lazy_list::make_traits< - cc::opt::less< lt > - ,cc::opt::item_counter< cds::atomicity::item_counter > - >::type - > opt_list; - test< opt_list >(); - } - -} // namespace ordlist - diff --git a/tests/test-hdr/set/hdr_intrusive_michael_set_ptb_lazy.cpp b/tests/test-hdr/set/hdr_intrusive_michael_set_ptb_lazy.cpp index 716ce595..aebf530d 100644 --- a/tests/test-hdr/set/hdr_intrusive_michael_set_ptb_lazy.cpp +++ b/tests/test-hdr/set/hdr_intrusive_michael_set_ptb_lazy.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "set/hdr_intrusive_set.h" -#include +#include #include namespace set { diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_ptb_lazy.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_ptb_lazy.cpp index 5710a89c..86879e7c 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_ptb_lazy.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_ptb_lazy.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "set/hdr_intrusive_set.h" -#include +#include #include namespace set { diff --git a/tests/test-hdr/set/hdr_michael_set_lazy_ptb.cpp b/tests/test-hdr/set/hdr_michael_set_lazy_ptb.cpp index 4d818baa..b8c3136f 100644 --- a/tests/test-hdr/set/hdr_michael_set_lazy_ptb.cpp +++ b/tests/test-hdr/set/hdr_michael_set_lazy_ptb.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "set/hdr_set.h" -#include +#include #include namespace set { diff --git a/tests/test-hdr/set/hdr_splitlist_set_lazy_ptb.cpp b/tests/test-hdr/set/hdr_splitlist_set_lazy_ptb.cpp index e7651457..6195103d 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_lazy_ptb.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_lazy_ptb.cpp @@ -1,7 +1,7 @@ //$$CDS-header$$ #include "set/hdr_set.h" -#include +#include #include namespace set { diff --git a/tests/unit/map2/map_types.h b/tests/unit/map2/map_types.h index 21037d8a..0974bc0a 100644 --- a/tests/unit/map2/map_types.h +++ b/tests/unit/map2/map_types.h @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include @@ -1013,45 +1013,45 @@ namespace map2 { >::type > LazyList_HP_less_michaelAlloc; - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::compare< compare > >::type - > LazyList_PTB_cmp_stdAlloc; + > LazyList_DHP_cmp_stdAlloc; - typedef cc::LazyKVList< cds::gc::PTB, 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_PTB_cmp_stdAlloc_seqcst; + > LazyList_DHP_cmp_stdAlloc_seqcst; - typedef cc::LazyKVList< cds::gc::PTB, 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_PTB_cmp_michaelAlloc; + > LazyList_DHP_cmp_michaelAlloc; - typedef cc::LazyKVList< cds::gc::PTB, Key, Value, + typedef cc::LazyKVList< cds::gc::DHP, Key, Value, typename cc::lazy_list::make_traits< co::less< less > >::type - > LazyList_PTB_less_stdAlloc; + > LazyList_DHP_less_stdAlloc; - typedef cc::LazyKVList< cds::gc::PTB, 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_PTB_less_stdAlloc_seqcst; + > LazyList_DHP_less_stdAlloc_seqcst; - typedef cc::LazyKVList< cds::gc::PTB, 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_PTB_less_michaelAlloc; + > LazyList_DHP_less_michaelAlloc; // RCU typedef cc::LazyKVList< rcu_gpi, Key, Value, @@ -1342,38 +1342,38 @@ namespace map2 { >::type > MichaelMap_Lazy_HP_less_michaelAlloc; - typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_PTB_cmp_stdAlloc, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_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, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_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, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_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, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_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, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_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, + typedef cc::MichaelHashMap< cds::gc::PTB, LazyList_DHP_less_michaelAlloc, typename cc::michael_map::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > diff --git a/tests/unit/set2/set_types.h b/tests/unit/set2/set_types.h index 3263e100..6f27685f 100644 --- a/tests/unit/set2/set_types.h +++ b/tests/unit/set2/set_types.h @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include @@ -45,10 +45,7 @@ # include # include # include -//# if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION >= 1700) -//# define CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS -# include -//# endif +# include #endif #include @@ -918,45 +915,45 @@ namespace set2 { >::type > LazyList_HP_less_michaelAlloc; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, typename cc::lazy_list::make_traits< co::compare< compare > >::type - > LazyList_PTB_cmp_stdAlloc; + > LazyList_DHP_cmp_stdAlloc; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, typename cc::lazy_list::make_traits< co::compare< compare > ,co::memory_model< co::v::sequential_consistent > >::type - > LazyList_PTB_cmp_stdAlloc_seqcst; + > LazyList_DHP_cmp_stdAlloc_seqcst; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, typename cc::lazy_list::make_traits< co::compare< compare >, co::allocator< memory::MichaelAllocator > >::type - > LazyList_PTB_cmp_michaelAlloc; + > LazyList_DHP_cmp_michaelAlloc; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, typename cc::lazy_list::make_traits< co::less< less > >::type - > LazyList_PTB_less_stdAlloc; + > LazyList_DHP_less_stdAlloc; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, typename cc::lazy_list::make_traits< co::less< less > ,co::memory_model< co::v::sequential_consistent > >::type - > LazyList_PTB_less_stdAlloc_seqcst; + > LazyList_DHP_less_stdAlloc_seqcst; - typedef cc::LazyList< cds::gc::PTB, key_val, + typedef cc::LazyList< cds::gc::DHP, key_val, 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::LazyList< rcu_gpi, key_val, @@ -1205,38 +1202,38 @@ namespace set2 { >::type > MichaelSet_Lazy_HP_less_michaelAlloc; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_cmp_stdAlloc, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_cmp_stdAlloc, typename cc::michael_set::make_traits< co::hash< hash > >::type > MichaelSet_Lazy_PTB_cmp_stdAlloc; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_cmp_stdAlloc_seqcst, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_cmp_stdAlloc_seqcst, typename cc::michael_set::make_traits< co::hash< hash > >::type > MichaelSet_Lazy_PTB_cmp_stdAlloc_seqcst; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_cmp_michaelAlloc, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_cmp_michaelAlloc, typename cc::michael_set::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator > >::type > MichaelSet_Lazy_PTB_cmp_michaelAlloc; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_less_stdAlloc, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_less_stdAlloc, typename cc::michael_set::make_traits< co::hash< hash > >::type > MichaelSet_Lazy_PTB_less_stdAlloc; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_less_stdAlloc_seqcst, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_less_stdAlloc_seqcst, typename cc::michael_set::make_traits< co::hash< hash > >::type > MichaelSet_Lazy_PTB_less_stdAlloc_seqcst; - typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_PTB_less_michaelAlloc, + typedef cc::MichaelHashSet< cds::gc::PTB, LazyList_DHP_less_michaelAlloc, typename cc::michael_set::make_traits< co::hash< hash >, co::allocator< memory::MichaelAllocator >