2888573eecf2a8324026a907c509c75a311f8657
[libcds.git] / cds / container / details / base.h
1 //$$CDS-header$$
2
3 #ifndef CDSLIB_CONTAINER_DETAILS_BASE_H
4 #define CDSLIB_CONTAINER_DETAILS_BASE_H
5
6 #include <cds/intrusive/details/base.h>
7
8 namespace cds {
9
10 /// Standard (non-intrusive) containers
11 /**
12     @ingroup cds_nonintrusive_containers
13     This namespace contains implementations of non-intrusive (std-like) lock-free containers.
14 */
15 namespace container {
16
17     /// Common options for non-intrusive containers
18     /** @ingroup cds_nonintrusive_helper
19         This namespace contains options for non-intrusive containers that is, in general, the same as for the intrusive containers.
20         It imports all definitions from cds::opt and cds::intrusive::opt namespaces
21     */
22     namespace opt {
23         using namespace cds::intrusive::opt;
24     }   // namespace opt
25
26     /// @defgroup cds_nonintrusive_containers Non-intrusive containers
27     /** @defgroup cds_nonintrusive_helper Helper structs for non-intrusive containers
28         @ingroup cds_nonintrusive_containers
29     */
30
31     /** @defgroup cds_nonintrusive_stack Stack
32         @ingroup cds_nonintrusive_containers
33     */
34     /** @defgroup cds_nonintrusive_queue Queue
35         @ingroup cds_nonintrusive_containers
36     */
37     /** @defgroup cds_nonintrusive_deque Deque
38         @ingroup cds_nonintrusive_containers
39     */
40     /** @defgroup cds_nonintrusive_priority_queue Priority queue
41         @ingroup cds_nonintrusive_containers
42     */
43     /** @defgroup cds_nonintrusive_map Map
44         @ingroup cds_nonintrusive_containers
45     */
46     /** @defgroup cds_nonintrusive_set Set
47         @ingroup cds_nonintrusive_containers
48     */
49     /** @defgroup cds_nonintrusive_list List
50         @ingroup cds_nonintrusive_containers
51     */
52     /** @defgroup cds_nonintrusive_tree Tree
53         @ingroup cds_nonintrusive_containers
54     */
55
56 }   // namespace container
57 }   // namespace cds
58
59 #endif // #ifndef CDSLIB_CONTAINER_DETAILS_BASE_H