src/ucx/cx/collection.h

changeset 504
c094afcdfb27
parent 490
d218607f5a7e
equal deleted inserted replaced
503:aeaf7db26fac 504:c094afcdfb27
125 #define cx_invoke_advanced_destructor(c, e) \ 125 #define cx_invoke_advanced_destructor(c, e) \
126 (c)->advanced_destructor((c)->destructor_data, \ 126 (c)->advanced_destructor((c)->destructor_data, \
127 (c)->store_pointer ? (*((void **) (e))) : (e)) 127 (c)->store_pointer ? (*((void **) (e))) : (e))
128 128
129 129
130 /**
131 * Invokes all available destructor functions for a specific element.
132 *
133 * Usually only used by collection implementations. There should be no need
134 * to invoke this macro manually.
135 *
136 * @param c the collection
137 * @param e the element
138 */
130 #define cx_invoke_destructor(c, e) \ 139 #define cx_invoke_destructor(c, e) \
131 if ((c)->simple_destructor) cx_invoke_simple_destructor(c,e); \ 140 if ((c)->simple_destructor) cx_invoke_simple_destructor(c,e); \
132 if ((c)->advanced_destructor) cx_invoke_advanced_destructor(c,e) 141 if ((c)->advanced_destructor) cx_invoke_advanced_destructor(c,e)
133 142
134 #ifdef __cplusplus 143 #ifdef __cplusplus

mercurial