SYNOPSIS

  RBGen->new(%options)
    ->write_api('foo.h')
    ->write_impl('foo.c')
    ->write_wrapper(
		'sometype-rb.h',
		obj_t => 'SomeType',
		node => 'NodeFieldName',  # struct SomeType { rbtree_node_t NodeFieldName; }
		cmp => 'CompareFunc'      # int CompareFunc(SomeType *a, SomeType *b);
	)
    ->write_wrapper(
		'sometype-rb.h',
		obj_t => SomeType',
		node => 'NodeField2',
		key_t => 'const char*', key => 'KeyField',
		cmp => 'strcmp'
	);

DESCRIPTION

This module writes customizable Red/Black Tree algorithms as C source code. While these sorts of things could be done with C header macros, I've decided that is really a massive waste of time and wrote it as a perl script instead.