Evas_Data.h File Reference
These routines are used for Evas data types. More...
Data Structures | |
struct | _Evas_Array |
An array of data. More... | |
struct | _Evas_List |
A linked list node. More... | |
Typedefs | |
typedef struct _Evas_Array | Evas_Array |
A generic vector. | |
typedef struct _Evas_Hash | Evas_Hash |
A Hash table handle. | |
typedef struct _Evas_List | Evas_List |
A generic linked list node handle. | |
Functions | |
EAPI Evas_Hash * | evas_hash_add (Evas_Hash *hash, const char *key, const void *data) |
Adds an entry to the given hash table. | |
EAPI Evas_Hash * | evas_hash_direct_add (Evas_Hash *hash, const char *key, const void *data) |
Adds an entry to the given hash table and does not duplicate the string key. | |
EAPI Evas_Hash * | evas_hash_del (Evas_Hash *hash, const char *key, const void *data) |
Removes the entry identified by key or data from the given hash table. | |
EAPI void * | evas_hash_find (const Evas_Hash *hash, const char *key) |
Retrieves a specific entry in the given hash table. | |
EAPI void * | evas_hash_modify (Evas_Hash *hash, const char *key, const void *data) |
Modifies the entry pointer at the specified key and returns the old entry. | |
EAPI int | evas_hash_size (const Evas_Hash *hash) |
Retrieves the number of buckets available in the given hash table. | |
EAPI void | evas_hash_free (Evas_Hash *hash) |
Free an entire hash table. | |
EAPI void | evas_hash_foreach (const Evas_Hash *hash, Evas_Bool(*func)(const Evas_Hash *hash, const char *key, void *data, void *fdata), const void *fdata) |
Call a function on every member stored in the hash table. | |
EAPI int | evas_hash_alloc_error (void) |
Return memory allocation failure flag after an function requiring allocation. | |
EAPI Evas_List * | evas_list_append (Evas_List *list, const void *data) |
Appends the given data to the given linked list. | |
EAPI Evas_List * | evas_list_prepend (Evas_List *list, const void *data) |
Prepends the given data to the given linked list. | |
EAPI Evas_List * | evas_list_append_relative (Evas_List *list, const void *data, const void *relative) |
Inserts the given data into the given linked list after the specified data. | |
EAPI Evas_List * | evas_list_prepend_relative (Evas_List *list, const void *data, const void *relative) |
Prepend a data pointer to a linked list before the memeber specified. | |
EAPI Evas_List * | evas_list_remove (Evas_List *list, const void *data) |
Removes the first instance of the specified data from the given list. | |
EAPI Evas_List * | evas_list_remove_list (Evas_List *list, Evas_List *remove_list) |
Removes the specified data. | |
EAPI Evas_List * | evas_list_promote_list (Evas_List *list, Evas_List *move_list) |
Moves the specified data to the head of the list. | |
EAPI void * | evas_list_find (const Evas_List *list, const void *data) |
Find a member of a list and return the member. | |
EAPI Evas_List * | evas_list_find_list (const Evas_List *list, const void *data) |
Find a member of a list and return the list node containing that member. | |
EAPI Evas_List * | evas_list_free (Evas_List *list) |
Free an entire list and all the nodes, ignoring the data contained. | |
EAPI Evas_List * | evas_list_last (const Evas_List *list) |
Get the last list node in the list. | |
EAPI Evas_List * | evas_list_next (const Evas_List *list) |
Get the next list node after the specified list node. | |
EAPI Evas_List * | evas_list_prev (const Evas_List *list) |
Get the previous list node before the specified list node. | |
EAPI void * | evas_list_data (const Evas_List *list) |
Get the list node data member. | |
EAPI int | evas_list_count (const Evas_List *list) |
Get the count of the number of items in a list. | |
EAPI void * | evas_list_nth (const Evas_List *list, int n) |
Get the nth member's data pointer in a list. | |
EAPI Evas_List * | evas_list_nth_list (const Evas_List *list, int n) |
Get the nth member's list node in a list. | |
EAPI Evas_List * | evas_list_reverse (Evas_List *list) |
Reverse all the elements in the list. | |
EAPI Evas_List * | evas_list_sort (Evas_List *list, int size, int(*func)(void *, void *)) |
Sort a list according to the ordering func will return. | |
EAPI int | evas_list_alloc_error (void) |
Return the memory allocation failure flag after any operation needin allocation. |
Detailed Description
These routines are used for Evas data types.
Function Documentation
Moves the specified data to the head of the list.
Move a specified member to the head of the list
- Parameters:
-
list The list handle to move inside
move_list The list node which is to be moved
- Returns:
- A new list handle to replace the old one
move_list
and moves it to the front of the list
.Example:
extern Evas_List *list; Evas_List *l; extern void *my_data; for (l = list; l; l= l->next) { if (l->data == my_data) { list = evas_list_promote_list(list, l); break; } }
References _Evas_List::accounting, _Evas_List::next, and _Evas_List::prev.