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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs