Home | History | Annotate | Download | only in util

Lines Matching refs:ht

82    struct util_hash_table *ht;
84 ht = MALLOC_STRUCT(util_hash_table);
85 if(!ht)
88 ht->cso = cso_hash_create();
89 if(!ht->cso) {
90 FREE(ht);
94 ht->hash = hash;
95 ht->compare = compare;
97 return ht;
102 util_hash_table_find_iter(struct util_hash_table *ht,
109 iter = cso_hash_find(ht->cso, key_hash);
112 if (!ht->compare(item->key, key))
122 util_hash_table_find_item(struct util_hash_table *ht,
129 iter = cso_hash_find(ht->cso, key_hash);
132 if (!ht->compare(item->key, key))
142 util_hash_table_set(struct util_hash_table *ht,
150 assert(ht);
151 if (!ht)
154 key_hash = ht->hash(key);
156 item = util_hash_table_find_item(ht, key, key_hash);
170 iter = cso_hash_insert(ht->cso, key_hash, item);
181 util_hash_table_get(struct util_hash_table *ht,
187 assert(ht);
188 if (!ht)
191 key_hash = ht->hash(key);
193 item = util_hash_table_find_item(ht, key, key_hash);
202 util_hash_table_remove(struct util_hash_table *ht,
209 assert(ht);
210 if (!ht)
213 key_hash = ht->hash(key);
215 iter = util_hash_table_find_iter(ht, key, key_hash);
223 cso_hash_erase(ht->cso, iter);
228 util_hash_table_clear(struct util_hash_table *ht)
233 assert(ht);
234 if (!ht)
237 iter = cso_hash_first_node(ht->cso);
239 item = (struct util_hash_table_item *)cso_hash_take(ht->cso, cso_hash_iter_key(iter));
241 iter = cso_hash_first_node(ht->cso);
247 util_hash_table_foreach(struct util_hash_table *ht,
256 assert(ht);
257 if (!ht)
260 iter = cso_hash_first_node(ht->cso);
274 util_hash_table_destroy(struct util_hash_table *ht)
279 assert(ht);
280 if (!ht)
283 iter = cso_hash_first_node(ht->cso);
290 cso_hash_delete(ht->cso);
292 FREE(ht);