3 #ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_SET_BASE_H
4 #define CDSLIB_CONTAINER_DETAILS_MICHAEL_SET_BASE_H
6 #include <cds/intrusive/details/michael_set_base.h>
8 namespace cds { namespace container {
10 /// MichaelHashSet related definitions
11 /** @ingroup cds_nonintrusive_helper
13 namespace michael_set {
14 /// MichaelHashSet traits
15 typedef cds::intrusive::michael_set::traits traits;
17 /// Metafunction converting option list to \p michael_set::traits
18 template <typename... Options>
19 using make_traits = cds::intrusive::michael_set::make_traits< Options... >;
23 using cds::intrusive::michael_set::details::init_hash_bitmask;
24 using cds::intrusive::michael_set::details::list_iterator_selector;
25 using cds::intrusive::michael_set::details::iterator;
31 // Forward declarations
32 template <class GC, class OrderedList, class Traits = michael_set::traits>
36 }} // namespace cds::container
38 #endif // #ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_SET_BASE_H