| |
1 # List Interface |
| |
2 |
| |
3 <warning> |
| |
4 Outdated - Rewrite! |
| |
5 </warning> |
| |
6 |
| |
7 This header defines a common interface for all list implementations. |
| |
8 |
| |
9 UCX already comes with two common list implementations (linked list and array list) that should cover most use cases. |
| |
10 But if you feel the need to implement an own list, the only thing you need to do is to define a struct with a |
| |
11 `struct cx_list_s` as first member, and set an appropriate list class that implements the functionality. |
| |
12 It is strongly recommended that this class is shared among all instances of the same list type, because otherwise |
| |
13 the `cxListCompare` function cannot use the optimized implementation of your class and will instead fall back to |
| |
14 using iterators to compare the contents element-wise. |
| |
15 |
| |
16 ## Undocumented Symbols (TODO) |
| |
17 ### cx_empty_list |
| |
18 ### cxEmptyList |
| |
19 ### cxListCompare |
| |
20 ### cx_list_default_insert_array |
| |
21 ### cx_list_default_insert_sorted |
| |
22 ### cx_list_default_sort |
| |
23 ### cx_list_default_swap |
| |
24 ### cxListFree |
| |
25 ### cx_list_init |
| |
26 ### cxListMutBackwardsIteratorAt |
| |
27 ### cxListMutIteratorAt |
| |
28 |