#include #include #include #include typedef const char *Str; struct HashTable_Str__c_char__false { uintptr_t num_buckets; uintptr_t capacity; uint8_t *occupied; Str *keys; char *vals; }; typedef struct HashTable_Str__c_char__false MySet; typedef void (*SetCallback)(Str key); struct HashTable_Str__u64__true { uintptr_t num_buckets; uintptr_t capacity; uint8_t *occupied; Str *keys; uint64_t *vals; }; typedef void (*MapCallback)(Str key, uint64_t val); #ifdef __cplusplus extern "C" { #endif // __cplusplus MySet *new_set(void); void set_for_each(const MySet *set, SetCallback callback); struct HashTable_Str__u64__true *new_map(void); void map_for_each(const struct HashTable_Str__u64__true *map, MapCallback callback); #ifdef __cplusplus } // extern "C" #endif // __cplusplus