/* To traverse (simple) caches */
/* Don't add or remove entries to the cache while traversing !!! */
/*###########################################################################*/
/* To traverse (simple) caches */
/* Don't add or remove entries to the cache while traversing !!! */
/*###########################################################################*/
void xbt_set_cursor_first (xbt_set_t set,
xbt_set_cursor_t *cursor);
void xbt_set_cursor_first (xbt_set_t set,
xbt_set_cursor_t *cursor);
#define xbt_set_foreach(set,cursor,elm) \
for ((cursor) = NULL, xbt_set_cursor_first((set),&(cursor)) ; \
xbt_set_cursor_get_or_free(&(cursor),(xbt_set_elm_t*)&(elm)); \
xbt_set_cursor_step(cursor) )
#define xbt_set_foreach(set,cursor,elm) \
for ((cursor) = NULL, xbt_set_cursor_first((set),&(cursor)) ; \
xbt_set_cursor_get_or_free(&(cursor),(xbt_set_elm_t*)&(elm)); \
xbt_set_cursor_step(cursor) )