Iterator for as_arraylist.
To use the iterator, you can either initialize a stack allocated variable, using as_arraylist_iterator_init()
:
AS_EXTERN as_arraylist_iterator * as_arraylist_iterator_init(as_arraylist_iterator *iterator, const as_arraylist *list)
const as_arraylist * list
Or you can create a new heap allocated variable, using as_arraylist_iterator_new()
:
AS_EXTERN as_arraylist_iterator * as_arraylist_iterator_new(const as_arraylist *list)
To iterate, use as_arraylist_iterator_has_next()
and as_arraylist_iterator_next()
:
}
AS_EXTERN bool as_arraylist_iterator_has_next(const as_arraylist_iterator *iterator)
AS_EXTERN const as_val * as_arraylist_iterator_next(as_arraylist_iterator *iterator)
When you are finished using the iterator, then you should release the iterator and associated resources:
AS_EXTERN void as_arraylist_iterator_destroy(as_arraylist_iterator *iterator)
The as_arraylist_iterator
is a subtype of as_iterator
. This allows you to alternatively use as_iterator
functions, by typecasting as_arraylist_iterator
to as_iterator
.
}
static const as_val * as_iterator_next(as_iterator *iterator)
AS_EXTERN void as_iterator_destroy(as_iterator *iterator)
static bool as_iterator_has_next(const as_iterator *iterator)
Each of the as_iterator
functions proxy to the as_arraylist_iterator
functions. So, calling as_iterator_destroy()
is equivalent to calling as_arraylist_iterator_destroy()
.
Definition at line 88 of file as_arraylist_iterator.h.