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 using cds::intrusive::michael_set::implementation_tag;
16 /// MichaelHashSet traits
17 typedef cds::intrusive::michael_set::traits traits;
19 /// Metafunction converting option list to \p michael_set::traits
20 template <typename... Options>
21 using make_traits = cds::intrusive::michael_set::make_traits< Options... >;
25 using cds::intrusive::michael_set::details::init_hash_bitmask;
26 using cds::intrusive::michael_set::details::list_iterator_selector;
27 using cds::intrusive::michael_set::details::iterator;
33 // Forward declarations
34 template <class GC, class OrderedList, class Traits = michael_set::traits>
38 }} // namespace cds::container
40 #endif // #ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_SET_BASE_H