69 This macro will invoke a simple destructor, if one is assigned, first, and then the advanced destructor (again, if assigned). |
69 This macro will invoke a simple destructor, if one is assigned, first, and then the advanced destructor (again, if assigned). |
70 |
70 |
71 > Destructor functions are always invoked with a pointer to the element in your collection. |
71 > Destructor functions are always invoked with a pointer to the element in your collection. |
72 > If your collection is storing pointers (i.e. `cxCollectionStoresPointers()` returns `true`) |
72 > If your collection is storing pointers (i.e. `cxCollectionStoresPointers()` returns `true`) |
73 > the `cx_invoke_destructor()` will make sure that the pointer to the element is dereferenced first, |
73 > the `cx_invoke_destructor()` will make sure that the pointer to the element is dereferenced first, |
74 > so that the destructor functions are _always_ invoked with pointer to the actual element. |
74 > so that the destructor functions are _always_ invoked with a pointer to the actual element. |
75 {style="note"} |
75 {style="note"} |
76 |
76 |
77 <seealso> |
77 <seealso> |
78 <category ref="apidoc"> |
78 <category ref="apidoc"> |
79 <a href="https://ucx.sourceforge.io/api/collection_8h.html">collection.h</a> |
79 <a href="https://ucx.sourceforge.io/api/collection_8h.html">collection.h</a> |