BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdlma.h
Go to the documentation of this file.
1
/// @file bdlma.h
2
///
3
///
4
/// @defgroup bdlma Package bdlma
5
/// @brief Basic Development Library Memory Allocators (bdlma)
6
/// @addtogroup bdl
7
/// @{
8
/// @addtogroup bdlma
9
/// @{
10
/// * <a href="#bdlma-purpose"> Purpose</a>
11
/// * <a href="#bdlma-mnemonic"> Mnemonic </a>
12
/// * <a href="#bdlma-description"> Description </a>
13
/// * <a href="#bdlma-hierarchical-synopsis"> Hierarchical Synopsis </a>
14
/// * <a href="#bdlma-component-synopsis"> Component Synopsis </a>
15
///
16
/// # Purpose {#bdlma-purpose}
17
/// Provide allocators, pools, and other memory-management tools.
18
///
19
/// # Mnemonic {#bdlma-mnemonic}
20
/// Basic Development Library Memory Allocators (bdlma)
21
///
22
/// # Description {#bdlma-description}
23
/// The 'bdlma' package provides concrete allocators derived from the
24
/// 'bslma::Allocator' protocol.
25
///
26
/// ## Hierarchical Synopsis {#bdlma-hierarchical-synopsis}
27
///
28
/// The 'bdlma' package currently has 31 components having 8 levels of physical
29
/// dependency. The list below shows the hierarchical ordering of the components.
30
/// The order of components within each level is not architecturally significant,
31
/// just alphabetical.
32
/// @code
33
/// 8. bdlma_localbufferedobject
34
/// bdlma_multipoolallocator
35
///
36
/// 7. bdlma_aligningallocator
37
/// bdlma_localsequentialallocator
38
/// bdlma_multipool
39
///
40
/// 6. bdlma_bufferedsequentialallocator
41
///
42
/// 5. bdlma_bufferedsequentialpool
43
/// bdlma_concurrentmultipoolallocator
44
/// bdlma_sequentialallocator
45
///
46
/// 4. bdlma_concurrentfixedpool
47
/// bdlma_concurrentmultipool
48
/// bdlma_concurrentpoolallocator
49
/// bdlma_sequentialpool
50
///
51
/// 3. bdlma_buffermanager
52
/// bdlma_concurrentpool
53
/// bdlma_defaultdeleter
54
/// bdlma_factory
55
/// bdlma_pool
56
///
57
/// 2. bdlma_alignedallocator
58
/// bdlma_autoreleaser
59
/// bdlma_blocklist
60
/// bdlma_bufferimputil
61
/// bdlma_concurrentallocatoradapter
62
/// bdlma_countingallocator
63
/// bdlma_deleter
64
/// bdlma_guardingallocator
65
/// bdlma_heapbypassallocator
66
/// bdlma_infrequentdeleteblocklist
67
/// bdlma_managedallocator
68
/// bdlma_memoryblockdescriptor
69
///
70
/// 1. bdlma_localbufferedobject_cpp03 !PRIVATE!
71
/// @endcode
72
///
73
/// ## Component Synopsis {#bdlma-component-synopsis}
74
///
75
/// @ref bdlma_alignedallocator :
76
/// Provide a protocol for memory allocators that support alignment.
77
///
78
/// @ref bdlma_aligningallocator :
79
/// Provide an allocator-wrapper to allocate with a minimum alignment.
80
///
81
/// @ref bdlma_autoreleaser :
82
/// Release memory to a managed allocator or pool at destruction.
83
///
84
/// @ref bdlma_blocklist :
85
/// Provide allocation and management of a sequence of memory blocks.
86
///
87
/// @ref bdlma_bufferedsequentialallocator :
88
/// Provide an efficient managed allocator using an external buffer.
89
///
90
/// @ref bdlma_bufferedsequentialpool :
91
/// Provide sequential memory using an external buffer and a fallback.
92
///
93
/// @ref bdlma_bufferimputil :
94
/// Provide pure procedures for allocating memory from a buffer.
95
///
96
/// @ref bdlma_buffermanager :
97
/// Provide a memory manager that manages an external buffer.
98
///
99
/// @ref bdlma_concurrentallocatoradapter :
100
/// Provide a thread-enabled adapter for the allocator protocol.
101
///
102
/// @ref bdlma_concurrentfixedpool :
103
/// Provide thread-safe pool of limited # of blocks of uniform size.
104
///
105
/// @ref bdlma_concurrentmultipool :
106
/// Provide a memory manager to manage pools of varying block sizes.
107
///
108
/// @ref bdlma_concurrentmultipoolallocator :
109
/// Provide an allocator to manage pools of varying object sizes.
110
///
111
/// @ref bdlma_concurrentpool :
112
/// Provide thread-safe allocation of memory blocks of uniform size.
113
///
114
/// @ref bdlma_concurrentpoolallocator :
115
/// Provide thread-safe memory-pooling allocator of fixed-size blocks.
116
///
117
/// @ref bdlma_countingallocator :
118
/// Provide a memory allocator that counts allocated bytes.
119
///
120
/// @ref bdlma_defaultdeleter :
121
/// Provide a concrete default deleter w/optionally-supplied allocator.
122
///
123
/// @ref bdlma_deleter :
124
/// Provide a protocol for deleting objects of parameterized type.
125
///
126
/// @ref bdlma_factory :
127
/// Provide a protocol for creator/deleter of parameterized objects.
128
///
129
/// @ref bdlma_guardingallocator :
130
/// Provide a memory allocator that guards against buffer overruns.
131
///
132
/// @ref bdlma_heapbypassallocator :
133
/// Support memory allocation directly from virtual memory.
134
///
135
/// @ref bdlma_infrequentdeleteblocklist :
136
/// Provide allocation and management of infrequently deleted blocks.
137
///
138
/// @ref bdlma_localbufferedobject :
139
/// Provide easy way to create an object with a local arena allocator.
140
///
141
/// @ref bdlma_localbufferedobject_cpp03 : !PRIVATE!
142
/// Provide C++03 implementation for bdlma_localbufferedobject.h
143
///
144
/// @ref bdlma_localsequentialallocator :
145
/// Provide an efficient managed allocator using a local buffer.
146
///
147
/// @ref bdlma_managedallocator :
148
/// Provide a protocol for memory allocators that support `release`.
149
///
150
/// @ref bdlma_memoryblockdescriptor :
151
/// Provide a class describing a block of memory.
152
///
153
/// @ref bdlma_multipool :
154
/// Provide a memory manager to manage pools of varying block sizes.
155
///
156
/// @ref bdlma_multipoolallocator :
157
/// Provide a memory-pooling allocator of heterogeneous block sizes.
158
///
159
/// @ref bdlma_pool :
160
/// Provide efficient allocation of memory blocks of uniform size.
161
///
162
/// @ref bdlma_sequentialallocator :
163
/// Provide a managed allocator using dynamically-allocated buffers.
164
///
165
/// @ref bdlma_sequentialpool :
166
/// Provide sequential memory using dynamically-allocated buffers.
167
///
168
/// @}
169
/** @} */
doxygen_input
bde
groups
bdl
bdlma
doc
bdlma.h
Generated by
1.9.8