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