void dict_resize(struct dict *dict) { struct bucket *bucket, *buckets = dict->buckets; uint32_t i, capacity = dict->capacity; dict->capacity += DICT_BASE_CAPACITY; _dict_init(dict); for (i = 0; i < capacity; i++) { bucket = &buckets[i]; if (!bucket->deleted && bucket->setted) { dict_set(dict, bucket->key, bucket->data); } } free(buckets); }
dict *dict_create() { dict *d = zmalloc(sizeof(*d)); _dict_init(d); return d; }
void dict_init(struct dict *dict) { dict->capacity = DICT_BASE_CAPACITY; _dict_init(dict); }