170 CxMempool *cxMempoolCreate(size_t capacity, enum cx_mempool_type type); |
170 CxMempool *cxMempoolCreate(size_t capacity, enum cx_mempool_type type); |
171 |
171 |
172 /** |
172 /** |
173 * Sets the global destructor for all memory blocks within the specified pool. |
173 * Sets the global destructor for all memory blocks within the specified pool. |
174 * |
174 * |
175 * @param pool (@c CxMempool*) the memory pool |
175 * @param pool the memory pool |
176 * @param fnc (@c cx_destructor_func) the destructor that shall be applied to all memory blocks |
176 * @param fnc the destructor that shall be applied to all memory blocks |
177 */ |
177 */ |
178 #define cxMempoolGlobalDestructor(pool, fnc) \ |
178 cx_attr_nonnull_arg(1) |
179 (pool)->destr = (cx_destructor_func)(fnc) |
179 cx_attr_export |
|
180 void cxMempoolGlobalDestructor(CxMempool *pool, cx_destructor_func fnc); |
180 |
181 |
181 /** |
182 /** |
182 * Sets the global destructor for all memory blocks within the specified pool. |
183 * Sets the global destructor for all memory blocks within the specified pool. |
183 * |
184 * |
184 * @param pool (@c CxMempool*) the memory pool |
185 * @param pool the memory pool |
185 * @param fnc (@c cx_destructor_func2) the destructor that shall be applied to all memory blocks |
186 * @param fnc the destructor that shall be applied to all memory blocks |
186 * @param data (@c void*) additional data for the destructor function |
187 * @param data additional data for the destructor function |
187 */ |
188 */ |
188 #define cxMempoolGlobalDestructor2(pool, fnc, data) \ |
189 cx_attr_nonnull_arg(1) |
189 (pool)->destr2 = (cx_destructor_func2)(fnc); (pool)->destr2_data = (data) |
190 cx_attr_export |
|
191 void cxMempoolGlobalDestructor2(CxMempool *pool, cx_destructor_func2 fnc, void *data); |
190 |
192 |
191 /** |
193 /** |
192 * Creates a basic array-based memory pool. |
194 * Creates a basic array-based memory pool. |
193 * |
195 * |
194 * @param capacity (@c size_t) the initial capacity of the pool |
196 * @param capacity (@c size_t) the initial capacity of the pool |