Download

Support

Linked List Traverse Functions

Functions that you can use to traverse a linked list. More...

Functions

EAPI Evas_Listevas_list_last (const Evas_List *list)
 Get the last list node in the list.
EAPI Evas_Listevas_list_next (const Evas_List *list)
 Get the next list node after the specified list node.
EAPI Evas_Listevas_list_prev (const Evas_List *list)
 Get the previous list node before the specified list node.

Detailed Description

Functions that you can use to traverse a linked list.


Function Documentation

EAPI Evas_List* evas_list_last ( const Evas_List list  ) 

Get the last list node in the list.

Parameters:
list The list to get the last list node from
Returns:
The last list node in the list list

This function will return the last list node in the list (or NULL if the list is empty).

NB: This is a order-1 operation (it takes the same short time regardless of the length of the list).

Example:

 extern Evas_List *list;
 Evas_List *last, *l;

 last = evas_list_last(list);
 printf("The list in reverse:\n");
 for (l = last; l; l = l->prev)
   {
     printf("%p\n", l->data);
   }

References _Evas_List::accounting.

EAPI Evas_List* evas_list_next ( const Evas_List list  ) 

Get the next list node after the specified list node.

Parameters:
list The list node to get the next list node from
Returns:
The next list node, or NULL if no next list node exists

This function returns the next list node after the current one. It is equivalent to list->next.

Example:

 extern Evas_List *list;
 Evas_List *l;

 printf("The list:\n");
 for (l = list; l; l = evas_list_next(l))
   {
     printf("%p\n", l->data);
   }

References _Evas_List::next.

Referenced by evas_list_sort().

EAPI Evas_List* evas_list_prev ( const Evas_List list  ) 

Get the previous list node before the specified list node.

Parameters:
list The list node to get the previous list node from
Returns:
The previous list node, or NULL if no previous list node exists

This function returns the previous list node before the current one. It is equivalent to list->prev.

Example:

 extern Evas_List *list;
 Evas_List *last, *l;

 last = evas_list_last(list);
 printf("The list in reverse:\n");
 for (l = last; l; l = evas_list_prev(l))
   {
     printf("%p\n", l->data);
   }

References _Evas_List::prev.

Referenced by evas_list_sort().


Copyright © Enlightenment.org

Evas Documentation