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;}