3 #ifndef __CDS_CONTAINER_BASE_H
4 #define __CDS_CONTAINER_BASE_H
6 #include <cds/intrusive/base.h>
7 #include <cds/details/allocator.h>
11 /// Standard (non-intrusive) containers
13 @ingroup cds_nonintrusive_containers
14 This namespace contains implementations of non-intrusive (std-like) lock-free containers.
18 /// Common options for non-intrusive containers
19 /** @ingroup cds_nonintrusive_helper
20 This namespace contains options for non-intrusive containers that is, in general, the same as for the intrusive containers.
21 It imports all definitions from cds::opt and cds::intrusive::opt namespaces
24 using namespace cds::intrusive::opt;
27 /// @defgroup cds_nonintrusive_containers Non-intrusive containers
28 /** @defgroup cds_nonintrusive_helper Helper structs for non-intrusive containers
29 @ingroup cds_nonintrusive_containers
32 /** @defgroup cds_nonintrusive_stack Stack
33 @ingroup cds_nonintrusive_containers
35 /** @defgroup cds_nonintrusive_queue Queue
36 @ingroup cds_nonintrusive_containers
38 /** @defgroup cds_nonintrusive_deque Deque
39 @ingroup cds_nonintrusive_containers
41 /** @defgroup cds_nonintrusive_priority_queue Priority queue
42 @ingroup cds_nonintrusive_containers
44 /** @defgroup cds_nonintrusive_map Map
45 @ingroup cds_nonintrusive_containers
47 /** @defgroup cds_nonintrusive_set Set
48 @ingroup cds_nonintrusive_containers
50 /** @defgroup cds_nonintrusive_list List
51 @ingroup cds_nonintrusive_containers
53 /** @defgroup cds_nonintrusive_tree Tree
54 @ingroup cds_nonintrusive_containers
57 } // namespace container
60 #endif // #ifndef __CDS_CONTAINER_BASE_H