Enlightenment CVS committal Author : cedric Project : e17 Module : proto/eina
Dir : e17/proto/eina/src/include Modified Files: eina_list.h eina_inline_list.x Log Message: Add iterator/accessor to eina list. Change list size type to unsigned int. =================================================================== RCS file: /cvs/e/e17/proto/eina/src/include/eina_list.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- eina_list.h 8 Aug 2008 14:20:11 -0000 1.5 +++ eina_list.h 13 Aug 2008 09:19:34 -0000 1.6 @@ -22,6 +22,8 @@ #include <stdlib.h> #include "eina_types.h" +#include "eina_iterator.h" +#include "eina_accessor.h" /** * @defgroup List_Group List @@ -41,7 +43,7 @@ struct _Eina_List_Accounting { Eina_List *last; - int count; + unsigned int count; }; @@ -60,16 +62,21 @@ EAPI void *eina_list_find(const Eina_List *list, const void *data); EAPI Eina_List *eina_list_find_list (const Eina_List *list, const void *data); EAPI Eina_List *eina_list_free (Eina_List *list); -EAPI void *eina_list_nth(const Eina_List *list, int n); -EAPI Eina_List *eina_list_nth_list (const Eina_List *list, int n); +EAPI void *eina_list_nth(const Eina_List *list, unsigned int n); +EAPI Eina_List *eina_list_nth_list (const Eina_List *list, unsigned int n); EAPI Eina_List *eina_list_reverse (Eina_List *list); -EAPI Eina_List *eina_list_sort (Eina_List *list, int size, int(*func)(void*,void*)); +EAPI Eina_List *eina_list_sort (Eina_List *list, unsigned int size, int(*func)(void*,void*)); static inline Eina_List *eina_list_last (const Eina_List *list); static inline Eina_List *eina_list_next (const Eina_List *list); static inline Eina_List *eina_list_prev (const Eina_List *list); static inline void *eina_list_data(const Eina_List *list); -static inline int eina_list_count(const Eina_List *list); +static inline unsigned int eina_list_count(const Eina_List *list); + +EAPI Eina_Iterator *eina_list_iterator_new(const Eina_List *list); +EAPI Eina_Accessor *eina_list_accessor_new(const Eina_List *list); + +#define EINA_LIST_ITER_NEXT(list, l, data) for (l = list, data = eina_list_data(l); l; l = eina_list_next(l), data = eina_list_data(l)) /** @} */ #include "eina_inline_list.x" =================================================================== RCS file: /cvs/e/e17/proto/eina/src/include/eina_inline_list.x,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- eina_inline_list.x 8 Aug 2008 14:25:37 -0000 1.1 +++ eina_inline_list.x 13 Aug 2008 09:19:34 -0000 1.2 @@ -47,7 +47,7 @@ return list->data; } -static inline int +static inline unsigned int eina_list_count(const Eina_List *list) { if (!list) return 0; ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs