1 // A simple linked list based dynamic sized associative map from const char* to 2 // void*. Designed to maximize ease of use instead of performance. Should be 3 // used in benchmarks and tests only, not to be distributed with the cmph 4 // runtime headers. 5 6 typedef struct __linear_string_map_t lsmap_t; 7 8 lsmap_t *lsmap_new(); 9 void lsmap_append(lsmap_t *lsmap, const char *key, void *value); 10 void* lsmap_search(lsmap_t *lsmap, const char *key); 11 void lsmap_foreach_key(lsmap_t* lsmap, void (*f)(const char*)); 12 void lsmap_foreach_value(lsmap_t* lsmap, void (*f)(void*)); 13 void lsmap_destroy(lsmap_t* lsmap); 14