All pastes #933936 Raw Edit

Example of generators in C

public c v1 · immutable
·published 2008-03-08 15:31 UTC
rendered paste body
#include <glib.h>#include "generator.h"void generate(Generator *gen, gpointer data){	int values[] = {100, 200, 300, 400, 500, 0};	int i;		for(i=0; values[i]; i++)	{		int *value = g_new(int, 1);		*value = values[i];		generator_yield(gen, value);		g_usleep(G_USEC_PER_SEC/2);	}}int main(){	Generator *gen = generator_new(generate, NULL);	int *value = NULL;	while(generator_next(gen, (gpointer)&value))	{		g_print("Value = %d\n", *value);		g_free(value);	}	generator_free(gen);	return 0;}