662dc9784c87c3cfaaa47dac5e4bab549d6ac845
[libcds.git] / cds / container / details / michael_set_base.h
1 //$$CDS-header$$
2
3 #ifndef __CDS_CONTAINER_DETAILS_MICHAEL_SET_BASE_H
4 #define __CDS_CONTAINER_DETAILS_MICHAEL_SET_BASE_H
5
6 #include <cds/intrusive/details/michael_set_base.h>
7
8 namespace cds { namespace container {
9
10     /// MichaelHashSet related definitions
11     /** @ingroup cds_nonintrusive_helper
12     */
13     namespace michael_set {
14
15         /// MichaelHashSet traits
16         typedef cds::intrusive::michael_set::traits  traits;
17
18         /// Metafunction converting option list to \p MichaelHashSet traits
19         template <typename... Options>
20         using make_traits = cds::intrusive::michael_set::make_traits< Options... >;
21
22         //@cond
23         namespace details {
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;
27         }
28         //@endcond
29     }
30
31     //@cond
32     // Forward declarations
33     template <class GC, class OrderedList, class Traits = michael_set::traits>
34     class MichaelHashSet;
35     //@endcond
36
37 }} // namespace cds::container
38
39 #endif // #ifndef __CDS_CONTAINER_DETAILS_MICHAEL_SET_BASE_H