This group provides a generic container. More...
Data Structures | |
| struct | _Eina_Trash |
| The structure type for a generic container of an unused allocated pointer. More... | |
Macros | |
| #define | EINA_TRASH_CLEAN(trash, data) |
| Definition for a macro to remove all the pointers from the trash. | |
Typedefs | |
| typedef struct _Eina_Trash | Eina_Trash |
| The type for structure _Eina_Trash. | |
Functions | |
| static void | eina_trash_init (Eina_Trash **trash) |
| Initializes a trash before using it. | |
| static void | eina_trash_push (Eina_Trash **trash, void *data) |
| Pushes an unused pointer in the trash instead of freeing it. | |
| static void * | eina_trash_pop (Eina_Trash **trash) |
| Pops an available pointer from the trash if possible. | |
This group provides a generic container.
| #define EINA_TRASH_CLEAN | ( | trash, | |
| data ) |
Definition for a macro to remove all the pointers from the trash.
This macro allows the cleaning of trash in an easy way. It removes all the pointers from trash until it's empty.
| [in,out] | trash | The trash to clean |
| [out] | data | The pointer extracted from the trash |
Referenced by eio_shutdown().
|
inlinestatic |
Initializes a trash before using it.
This function just set to zero the trash to correctly initialize it.
| [in] | trash | The trash |
NULL and you will have the same result. References EINA_ARG_NONNULL.
|
inlinestatic |
Pushes an unused pointer in the trash instead of freeing it.
Instead of freeing a pointer and put pressure on malloc/free you can push it in a trash for a later use. This function just provide a fast way to push a now unused pointer into a trash.
| [in,out] | trash | A pointer to an Eina_Trash |
| [in] | data | An unused pointer big enough to put a (void*) |
data, so it's your duty to manage the size. References EINA_ARG_NONNULL.
|
inlinestatic |
Pops an available pointer from the trash if possible.
Instead of calling malloc, and putting pressure on malloc/free you can recycle the content of the trash, if it's not empty.
| [in] | trash | A Eina_Trash handle |
References EINA_ARG_NONNULL, and EINA_WARN_UNUSED_RESULT.