|
Tizen Native API
5.0
|
This group provides a generic container.
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. | |
Typedefs | |
| typedef struct _Eina_Trash | Eina_Trash |
| The type for structure _Eina_Trash. | |
Defines | |
| #define | EINA_TRASH_CLEAN(trash, data) while ((data = eina_trash_pop(trash))) |
| Definition for a macro to remove all the pointers from the trash. | |
| #define EINA_TRASH_CLEAN | ( | trash, | |
| data | |||
| ) | while ((data = eina_trash_pop(trash))) |
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.
| trash | The trash to clean |
| data | The pointer extracted from the trash |
Eina_Trash *trash = NULL; char *data; // trash is filled with a pointer to some duped strings. EINA_TRASH_CLEAN(&trash, data) free(data);
| static void eina_trash_init | ( | Eina_Trash ** | trash | ) | [static] |
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. | static void* eina_trash_pop | ( | Eina_Trash ** | trash | ) | [static] |
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 |
| static void eina_trash_push | ( | Eina_Trash ** | trash, |
| void * | data | ||
| ) | [static] |
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] | trash | A pointer to an Eina_Trash |
| data | An unused pointer big enough to put a (void*) |
data, so it's your duty to manage the size.