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 {
15 /// MichaelHashSet traits
16 typedef cds::intrusive::michael_set::traits traits;
18 /// Metafunction converting option list to \p michael_set::traits
19 template <typename... Options>
20 using make_traits = cds::intrusive::michael_set::make_traits< Options... >;
24 using cds::intrusive::michael_set::details::init_hash_bitmask;
25 using cds::intrusive::michael_set::details::list_iterator_selector;
26 using cds::intrusive::michael_set::details::iterator;
32 // Forward declarations
33 template <class GC, class OrderedList, class Traits = michael_set::traits>
37 }} // namespace cds::container
39 #endif // #ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_SET_BASE_H