#ifndef UCX_HASH_MAP_H
#define UCX_HASH_MAP_H
#include "map.h"
#ifdef __cplusplus
extern "C" {
#endif
struct cx_hash_map_element_s;
struct cx_hash_map_s {
struct cx_map_s base;
struct cx_hash_map_element_s **buckets;
size_t bucket_count;
};
cx_attr_nodiscard
cx_attr_malloc
cx_attr_dealloc(cxMapFree,
1)
CxMap *cxHashMapCreate(
const CxAllocator *allocator,
size_t itemsize,
size_t buckets
);
#define cxHashMapCreateSimple(itemsize) cxHashMapCreate(
NULL, itemsize,
0)
cx_attr_nonnull
int cxMapRehash(CxMap *map);
#ifdef __cplusplus
}
#endif
#endif