#ifndef itemkeyfun_H
#define itemkeyfun_H
+#include <stdio.h>
+
/**
* \struct itemkeyfun
*
* items that have that key. Different keys may yield the same
* hashcode.
*/
-typedef struct _itemkeyfun {
+typedef struct {
-#define SELF struct _itemkeyfun *this
+#define SELF void *this
/**
* This callback function should return the hashcode of a key. The
* hashcode is used for indexing into the backing vector for
*/
void (*releasekey)(SELF,void *key);
+ /**
+ * This callback function writes a representation of an item into
+ * a character buffer.
+ */
+ int (*tostring)(SELF,void *item,char *buffer,int limit);
+
#undef SELF
} itemkeyfun;