Skip to content

Instantly share code, notes, and snippets.

@ammojamo
Created July 16, 2009 06:09
Show Gist options
  • Save ammojamo/148250 to your computer and use it in GitHub Desktop.
Save ammojamo/148250 to your computer and use it in GitHub Desktop.
Iterator interface for glib GList
/* Simple iterator implementation for iterating over GLists and removing */
/* elements during iteration. */
typedef GList *GIterator;
static inline GIterator *g_iter(GList **list) {
return list;
}
static inline GList *g_iter_current(GIterator *iterator) {
return *iterator;
}
static inline GIterator *g_iter_next(GIterator *iterator) {
return &((*iterator)->next);
}
static inline GIterator *g_iter_remove(GIterator *iter) {
*iter = g_list_delete_link(*iter, *iter);
return iter;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment