typedef struct Iterator{ union Data* iterator; struct Context* task; int numGPU; __code exec(Impl* iterator, struct TaskManager* taskManager, struct Context* task, int numGPU, __code next(...)); __code barrier(Impl* iterator, struct Context* task, __code next(...), __code whenWait(...)); __code whenWait(...); __code next(...); } Iterator;