#pragma once typedef struct intHashEntry { char *key; int value; struct intHashEntry *next; } intHashEntry; typedef struct intHashTable { int capacity; int size; intHashEntry **table; } intHashTable; typedef struct intHashIterator { int pos; intHashEntry *entry; intHashTable *ht; } intHashIterator; void inthash_init( intHashTable *ht, int size ); void inthash_done( intHashTable *ht ); void inthash_set( intHashTable *ht, char *key, int value ); int inthash_get( intHashTable *ht, char *key ); intHashEntry *inthash_getfirst( intHashTable *ht, intHashIterator *it ); intHashEntry *inthash_getnext( intHashIterator *it );