Tizen Native API
5.5
|
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.
[in,out] | trash | The trash to clean |
[out] | 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,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.