Evas_List_Ordering_Group (3) - Linux Manuals

Evas_List_Ordering_Group: Functions that change the ordering of data in a linked list.

NAME

Linked List Ordering Functions - Functions that change the ordering of data in a linked list.

Functions


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.

Detailed Description

Functions that change the ordering of data in a linked list.

Function Documentation

EAPI Evas_List* evas_list_reverse (Evas_List * list)

Reverse all the elements in the list.

Parameters:

list The list to reverse

Returns:

The list after it has been reversed

This takes a list list, and reverses the order of all elements in the list, so the last member is now first, and so on.

Example:

 extern Evas_List *list;

 list = evas_list_reverse(list);


 

References _Evas_List::accounting, _Evas_List::data, _Evas_List::next, and _Evas_List::prev.

EAPI Evas_List* evas_list_sort (Evas_List * list, int size, int(*)(void *, void *) func)

Sort a list according to the ordering func will return.

Parameters:

list The list handle to sort
size The length of the list to sort
func A function pointer that can handle comparing the list data nodes

Returns:

A new sorted list

This function sorts your list. The data in your nodes can be arbitrary, you just have to be smart enough to know what kind of data is in your lists

Example:

 int
 sort_cb(void *d1, void *d2)
 {
   const char *txt = NULL;
    const char *txt2 = NULL;

    if(!d1) return(1);
    if(!d2) return(-1);

    return(strcmp((const char*)d1, (const char*)d2));
 }
 extern Evas_List *list;

 list = evas_list_sort(list, evas_list_count(list), sort_cb);
 if (evas_list_alloc_error())
   {
     fprintf(stderr, 'ERROR: Memory is low. List Sorting failed.);
     exit(-1);
   }


 

References _Evas_List::accounting, _Evas_List::data, evas_list_next(), evas_list_prev(), _Evas_List::next, and _Evas_List::prev.

Author

Generated automatically by Doxygen for Evas from the source code.