Mercurial > hg > Gears > Gears
view src/parallel_execution/ModelChecking/TaskIterator.c @ 1032:793b21a8ea12
fix include
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Oct 2023 12:25:40 +0900 |
parents | 61e27bf3b0e2 |
children |
line wrap: on
line source
#include <stdio.h> #include "context.h" #include "../ModelChecking/state_db.h" #include "TaskIterator.h" TaskIterator* createQueueIterator(Element* elements, StateDB s, TaskIterator* prev) { TaskIterator* new = (TaskIterator*)calloc(1, sizeof(TaskIterator)); if (!new) exit(1); new->prev = prev; new->state = s; // new->list = elements; return new; } Element* takeNextIterator(TaskIterator* iterator) { struct Element* elem = iterator->list; if (!elem) { return NULL; } struct Element* next = elem->next; if (next == NULL) { return NULL; } iterator->list = next; return next; } int iteratorLength(TaskIterator* iterator) { int i = 0; struct Element* elem = iterator->list; for(; elem; elem = elem->next) i++; return i; } void freeIterator(TaskIterator* iterator) { free(iterator); }