Cheesemap ==== Cheesemap is a swiss-table like HashMap implementation in C. It's designed to be fast but also easy to understand and improve. The HashMap might be a little memory efficient especially right after resizes and doesn't yet provide a shrink method. The HashMap is not yet production tested but fully working. * Example ``` #include "cheesemap.h" #include #include #include struct user_info { const char* country; int age; int zip; }; uint64_t hash(const uint8_t* key) { const char* name = (const char*)key; uint64_t count; while(*name) { count++; name++; } return count; } bool compare(const uint8_t* key1, const uint8_t* key2) { const char* name1 = (const char*)key1; const char* name2 = (const char*)key2; return strcmp(name1, name2); } int main() { struct cheesemap map; cm_new(&map, sizeof(const char*), _Alignof(const char*), sizeof(struct user_info), _Alignof(struct user_info), NULL } ```