Remove CDS_CXX11_TEMPLATE_ALIAS_SUPPORT macro and emulating code
[libcds.git] / cds / container / base.h
1 //$$CDS-header$$
2
3 #ifndef __CDS_CONTAINER_BASE_H
4 #define __CDS_CONTAINER_BASE_H
5
6 #include <cds/intrusive/base.h>
7 #include <cds/details/allocator.h>
8
9 namespace cds {
10
11 /// Standard (non-intrusive) containers
12 /**
13     @ingroup cds_nonintrusive_containers
14     This namespace contains implementations of non-intrusive (std-like) lock-free containers.
15 */
16 namespace container {
17
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
22     */
23     namespace opt {
24         using namespace cds::intrusive::opt;
25     }   // namespace opt
26
27     /// @defgroup cds_nonintrusive_containers Non-intrusive containers
28     /** @defgroup cds_nonintrusive_helper Helper structs for non-intrusive containers
29         @ingroup cds_nonintrusive_containers
30     */
31
32     /** @defgroup cds_nonintrusive_stack Stack
33         @ingroup cds_nonintrusive_containers
34     */
35     /** @defgroup cds_nonintrusive_queue Queue
36         @ingroup cds_nonintrusive_containers
37     */
38     /** @defgroup cds_nonintrusive_deque Deque
39         @ingroup cds_nonintrusive_containers
40     */
41     /** @defgroup cds_nonintrusive_priority_queue Priority queue
42         @ingroup cds_nonintrusive_containers
43     */
44     /** @defgroup cds_nonintrusive_map Map
45         @ingroup cds_nonintrusive_containers
46     */
47     /** @defgroup cds_nonintrusive_set Set
48         @ingroup cds_nonintrusive_containers
49     */
50     /** @defgroup cds_nonintrusive_list List
51         @ingroup cds_nonintrusive_containers
52     */
53     /** @defgroup cds_nonintrusive_tree Tree
54         @ingroup cds_nonintrusive_containers
55     */
56
57 }   // namespace container
58 }   // namespace cds
59
60 #endif // #ifndef __CDS_CONTAINER_BASE_H