X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1e129b9677a4073030b6533743c3a84056275548..91f0f8acd7bb93039252812ab45521b948ff50f4:/include/xbt/swag.h diff --git a/include/xbt/swag.h b/include/xbt/swag.h index d4533a0684..5af75a74e6 100644 --- a/include/xbt/swag.h +++ b/include/xbt/swag.h @@ -46,3 +46,12 @@ static __inline__ void *xbt_swag_getFirst(xbt_swag_t swag) for((obj)=xbt_swag_getFirst((swag)); \ (obj)!=NULL; \ (obj)=xbt_swag_getNext((obj),(swag)->offset)) + +#define xbt_swag_foreach_safe(obj,obj_next,swag) \ + for((obj)=xbt_swag_getFirst((swag)), \ + ((obj)?(obj_next=xbt_swag_getNext((obj),(swag)->offset)): \ + (obj_next=NULL)); \ + (obj)!=NULL; \ + (obj)=obj_next, \ + ((obj)?(obj_next=xbt_swag_getNext((obj),(swag)->offset)): \ + (obj_next=NULL)) )