1 contributor
19 lines538 bytes
1#ifndef GENERATOR_H
2#define GENERATOR_H
3
4#include <stdbool.h>
5
6typedef struct Generator Generator;
7Generator *Generator_New(void *(*)(void *), void *);
8void Generator_Delete(Generator *);
9
10// Returns true if generator yielded a value, false if generator is complete
11// *value is set to generator's value (yield / return value from exit)
12bool Generator_Next(Generator *, void **value);
13
14// Yield a value from the generator
15// Returns true if generator should continue, false for generator to exit PDQ
16bool Generator_Yield(void *);
17
18#endif
19