Data types that contains other types. More...
|These functions provide array management. |
|Eina_Clist is a compact (inline) list implementation. |
|Hash table management. |
|Inline array is a container that stores the data itself, not the pointers to the data. |
|These functions provide inline list management. |
|These functions provide double linked list management. |
|These functions manage sparse matrices. |
|These functions provide Red-Black tree management. |
|These functions provide a wrapper that protect access to pointers. |
|This group provides a generic container. |
|Generic Value Storage|
|Abstracts generic data storage and access to it in an extensible and efficient way. |
Data types that contains other types.
Examples: list, array and hash.
The containers in eina are designed with performance in mind, one consequence of this is that they don't check the validity of data structures given to them(Magic).
The choice of which container to use in each situation is very important in achieving good performance and readable code. The most common container types used are:
All types have pros and cons. The following considerations are good starting point in deciding which container to use:
If creating a custom container type, consider allowing access to the data in your container through Iterators and Accessors. To do so your container should have an iterator creation function and an accessor creation function. These functions should return properly populated _Eina_Iterator and _Eina_Accessor.