3 #ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_MAP_BASE_H
4 #define CDSLIB_CONTAINER_DETAILS_MICHAEL_MAP_BASE_H
6 #include <cds/container/details/michael_set_base.h>
8 namespace cds { namespace container {
10 /// MichaelHashMap related definitions
11 /** @ingroup cds_nonintrusive_helper
13 namespace michael_map {
14 using cds::intrusive::michael_set::implementation_tag;
16 /// \p MichaelHashMap traits
17 typedef container::michael_set::traits traits;
19 /// Metafunction converting option list to \p michael_map::traits
20 template <typename... Options>
21 using make_traits = cds::intrusive::michael_set::make_traits< Options... >;
25 using michael_set::details::init_hash_bitmask;
29 } // namespace michael_map
32 // Forward declarations
33 template <class GC, class OrderedList, class Traits = michael_map::traits>
37 }} // namespace cds::container
40 #endif // ifndef CDSLIB_CONTAINER_DETAILS_MICHAEL_MAP_BASE_H