#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;
};
__attribute__((__nonnull__, __warn_unused_result__))
CxMap *cxHashMapCreate(
CxAllocator
const *allocator,
size_t itemsize,
size_t buckets
);
#define cxHashMapCreateSimple(itemsize) \
cxHashMapCreate(cxDefaultAllocator, itemsize,
0)
__attribute__((__nonnull__))
int cxMapRehash(CxMap *map);
#ifdef __cplusplus
}
#endif
#endif