2 * Iterators for the several collection types used in firm.
3 * Useful for formatted and unified dumping of collections of objects.
4 * @author Sebastian Hack
9 * Check, if some memory object appears to be an iterator.
10 * @param ptr Some memory.
11 * @return 1, if that memory area appears to be an iterator, 0 if not.
13 int is_iterator(const void *ptr);
15 typedef struct _iterator_t {
17 void *(*start)(void *collection);
18 void *(*next)(void *collection, void *curr);
19 void (*finish)(void *collection, void *curr);
23 * An iterator implementation for psets.
25 extern const iterator_t *it_pset;
28 * An iterator implementation for linked lists.
30 extern const iterator_t *it_list;