+void* xbt_parmap_next(xbt_parmap_t parmap) {
+
+ unsigned int index = __sync_fetch_and_add(&parmap->index, 1);
+ if (index < xbt_dynar_length(parmap->data)) {
+ return xbt_dynar_get_as(parmap->data, index, void*);
+ }
+ return NULL;
+}
+
+unsigned long xbt_parmap_get_worker_id(xbt_parmap_t parmap) {
+ return (unsigned long) xbt_os_thread_get_extra_data();
+}
+