Evas_Data (3) - Linux Manuals

Evas_Data: These routines are used for Evas data types.

NAME

Evas_Data.h - These routines are used for Evas data types.

SYNOPSIS


Data Structures


struct _Evas_Array
An array of data.
struct _Evas_List
A linked list node.

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

EAPI Evas_List* evas_list_promote_list (Evas_List * list, Evas_List * move_list)

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

Calling this function takes the list node 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.

Author

Generated automatically by Doxygen for Evas from the source code.