Macros | Typedefs | Functions
Lazy allocator

Macros

#define EINA_LALLOC_ALLOC(function)   ((Eina_Lalloc_Alloc)function)
 
#define EINA_LALLOC_FREE(function)   ((Eina_Lalloc_Free)function)
 

Typedefs

typedef Eina_Bool(* Eina_Lalloc_Alloc) (void *user_data, int num)
 Type definition for the callback used to allocate new items in a lazy allocator.
 
typedef void(* Eina_Lalloc_Free) (void *user_data)
 Type definition for the callback used to allocate new items in a lazy allocator.
 
typedef struct _Eina_Lalloc Eina_Lalloc
 Public type definition for a lazy allocator.
 

Functions

EINA_API Eina_Lalloceina_lalloc_new (void *data, Eina_Lalloc_Alloc alloc_cb, Eina_Lalloc_Free free_cb, int num_init)
 Creates a new lazy allocator. More...
 
EINA_API void eina_lalloc_free (Eina_Lalloc *a)
 Frees the resources for a lazy allocator. More...
 
EINA_API Eina_Bool eina_lalloc_element_add (Eina_Lalloc *a)
 Allocates one more of whatever the lazy allocator is allocating. More...
 
EINA_API Eina_Bool eina_lalloc_elements_add (Eina_Lalloc *a, int num)
 Adds several elements to a lazy allocator. More...
 

Detailed Description

Macro Definition Documentation

◆ EINA_LALLOC_ALLOC

#define EINA_LALLOC_ALLOC (   function)    ((Eina_Lalloc_Alloc)function)
Parameters
[in]functionThe function to allocate.

◆ EINA_LALLOC_FREE

#define EINA_LALLOC_FREE (   function)    ((Eina_Lalloc_Free)function)
Parameters
[in]functionThe function to free.

Function Documentation

◆ eina_lalloc_new()

EINA_API Eina_Lalloc * eina_lalloc_new ( void *  data,
Eina_Lalloc_Alloc  alloc_cb,
Eina_Lalloc_Free  free_cb,
int  num_init 
)

Creates a new lazy allocator.

Parameters
[in]dataThe data for which memory will be allocated.
[in]alloc_cbThe callback to allocate memory for data items.
[in]free_cbThe callback to free memory for data items.
[in]num_initThe number of data items to initially allocate space for.
Returns
A new lazy allocator.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eina_lalloc_free()

EINA_API void eina_lalloc_free ( Eina_Lalloc a)

Frees the resources for a lazy allocator.

Parameters
[in,out]aThe lazy allocator to free.

References EINA_SAFETY_ON_NULL_RETURN.

◆ eina_lalloc_element_add()

EINA_API Eina_Bool eina_lalloc_element_add ( Eina_Lalloc a)

Allocates one more of whatever the lazy allocator is allocating.

Parameters
[in,out]aThe lazy allocator to add an item to.
Returns
EINA_TRUE on success, else EINA_FALSE.

References EINA_FALSE, EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.

◆ eina_lalloc_elements_add()

EINA_API Eina_Bool eina_lalloc_elements_add ( Eina_Lalloc a,
int  num 
)

Adds several elements to a lazy allocator.

Parameters
[in,out]aThe lazy allocator to add items to.
[in]numThe number of elements to add.
Returns
EINA_TRUE on success, else EINA_FALSE.

References EINA_FALSE, EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.