Files
bluelib/object/hashmap.h

28 lines
535 B
C

#ifndef _B_HASHMAP_H_
#define _B_HASHMAP_H_
#include <blue/core/btree.h>
#include <blue/core/queue.h>
#include <blue/object/hashmap.h>
struct b_hashmap_bucket_item {
struct b_queue_entry bi_entry;
struct b_hashmap_key bi_key;
struct b_hashmap_value bi_value;
};
struct b_hashmap_bucket {
struct b_btree_node bk_node;
uint64_t bk_hash;
struct b_queue bk_items;
};
struct b_hashmap {
struct b_object h_base;
struct b_btree h_buckets;
b_hashmap_key_destructor h_key_dtor;
b_hashmap_value_destructor h_value_dtor;
};
#endif