All pastes #934692 Raw Edit

Generators using GLIb

public c v1 · immutable
·published 2008-03-09 00:34 UTC
rendered paste body
#include <glib-object.h>#include "generator.h"void generate(Generator *gen, GValue *yield_return, gpointer data){	g_value_init(yield_return, G_TYPE_INT);	int counter = 0;	int result = 1;		int number = 2;	int exponent = 8;		while (counter++ < exponent)	{		result *= number;		g_value_set_int(yield_return, result);		generator_yield(gen);	}}int main(){	g_type_init();	Generator *gen = generator_new(generate, NULL);	GValue *value = g_new0(GValue, 1);	generator_init(gen);	while(generator_next(gen, value))	{		gchar *repr = g_strdup_value_contents(value);		g_print("Value = %s\n", repr);		g_free(repr);	}	g_free(value);	generator_free(gen);	return 0;}