Thu, 23 Jan 2025 01:33:36 +0100
create new page structure
relates to #451
# collection.h Collections in UCX 3 have several common features. If you want to implement an own collection data type that uses the same features, you can use the `CX_COLLECTION_BASE` macro at the beginning of your struct to roll out all members a usual UCX collection has. ```c struct my_fancy_collection_s { CX_COLLECTION_BASE; struct my_collection_data_s *data; }; ``` Based on this structure, this header provides some convenience macros for invoking the destructor functions that are part of the basic collection members. The idea of having destructor functions within a collection is that you can destroy the collection _and_ the contents with one single function call. When you are implementing a collection, you are responsible for invoking the destructors at the right places, e.g. when removing (and deleting) elements in the collection, clearing the collection, or - the most prominent case - destroying the collection. You can always look at the UCX list and map implementations if you need some inspiration.