diff options
author | Andrei Zmievski <andrei@php.net> | 2000-03-14 21:20:38 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2000-03-14 21:20:38 +0000 |
commit | 26eaf668e78ffa60e1559f4097eeea0ee1a645a2 (patch) | |
tree | 298d74675483b800507fb5a0e646c2db9bf6c71e /Zend/zend_llist.h | |
parent | 29c41fe46dccc9fbd874ab74e4bfa7dc5720d6f0 (diff) | |
download | php-git-26eaf668e78ffa60e1559f4097eeea0ee1a645a2.tar.gz |
Implemented external list traversing.
Diffstat (limited to 'Zend/zend_llist.h')
-rw-r--r-- | Zend/zend_llist.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h index c51f9074a7..805859a8ff 100644 --- a/Zend/zend_llist.h +++ b/Zend/zend_llist.h @@ -39,6 +39,7 @@ typedef struct _zend_llist { } zend_llist; typedef int (*llist_compare_func_t) (const zend_llist_element *, const zend_llist_element *); +typedef zend_llist_element* zend_llist_position; BEGIN_EXTERN_C() ZEND_API void zend_llist_init(zend_llist *l, size_t size, void (*dtor)(void *data), unsigned char persistent); @@ -55,10 +56,16 @@ ZEND_API int zend_llist_count(zend_llist *l); ZEND_API void zend_llist_sort(zend_llist *l, llist_compare_func_t comp_func); /* traversal */ -ZEND_API void *zend_llist_get_first(zend_llist *l); -ZEND_API void *zend_llist_get_last(zend_llist *l); -ZEND_API void *zend_llist_get_next(zend_llist *l); -ZEND_API void *zend_llist_get_prev(zend_llist *l); +ZEND_API void *zend_llist_get_first_ex(zend_llist *l, zend_llist_position *pos); +ZEND_API void *zend_llist_get_last_ex(zend_llist *l, zend_llist_position *pos); +ZEND_API void *zend_llist_get_next_ex(zend_llist *l, zend_llist_position *pos); +ZEND_API void *zend_llist_get_prev_ex(zend_llist *l, zend_llist_position *pos); + +#define zend_llist_get_first(l) zend_llist_get_first_ex(l, NULL) +#define zend_llist_get_last(l) zend_llist_get_last_ex(l, NULL) +#define zend_llist_get_next(l) zend_llist_get_next_ex(l, NULL) +#define zend_llist_get_prev(l) zend_llist_get_prev_ex(l, NULL) + END_EXTERN_C() #endif /* _ZEND_LLIST_H */ |