31 lines
586 B
C
31 lines
586 B
C
#ifndef BH_INTERNAL_HASHMAP_H
|
|
#define BH_INTERNAL_HASHMAP_H
|
|
|
|
#include <bh/hashmap.h>
|
|
|
|
typedef struct bh_hashmap_node_s
|
|
{
|
|
void *key;
|
|
void *value;
|
|
} bh_hashmap_node_t;
|
|
|
|
struct bh_hashmap_s
|
|
{
|
|
bh_hashmap_node_t *data;
|
|
size_t *psls;
|
|
size_t size;
|
|
size_t capacity;
|
|
size_t threshold;
|
|
bh_equal_cb_t equal;
|
|
bh_hash_cb_t hash;
|
|
float factor;
|
|
};
|
|
|
|
void bh_hashmap_init(bh_hashmap_t *hashmap,
|
|
bh_equal_cb_t equal,
|
|
bh_hash_cb_t hash);
|
|
|
|
void bh_hashmap_destroy(bh_hashmap_t *hashmap);
|
|
|
|
#endif /* BH_INTERNAL_HASHMAP_H */
|