Lines Matching defs:UHashtable
19 * UHashtable stores key-value pairs and does moderately fast lookup
28 * UHashtable doesn't care and manipulates them via user-supplied
34 * UHashtable ownership of keys and values is flexible, and controlled
37 * then UHashtable can be made to delete that object by setting the
148 * The UHashtable struct. Clients should treat this as an opaque data
151 struct UHashtable {
187 UBool allocated; /* Was this UHashtable allocated? */
189 typedef struct UHashtable UHashtable;
198 * Initialize a new UHashtable.
204 * @return A pointer to a UHashtable, or 0 if an error occurred.
207 U_CAPI UHashtable* U_EXPORT2
214 * Initialize a new UHashtable with a given initial size.
221 * @return A pointer to a UHashtable, or 0 if an error occurred.
224 U_CAPI UHashtable* U_EXPORT2
232 * Initialize an existing UHashtable.
238 * @return A pointer to a UHashtable, or 0 if an error occurred.
241 U_CAPI UHashtable* U_EXPORT2
242 uhash_init(UHashtable *hash,
249 * Close a UHashtable, releasing the memory used.
250 * @param hash The UHashtable to close. If hash is NULL no operation is performed.
253 uhash_close(UHashtable *hash);
259 * @param hash The UHashtable to set
264 uhash_setKeyHasher(UHashtable *hash, UHashFunction *fn);
269 * @param hash The UHashtable to set
274 uhash_setKeyComparator(UHashtable *hash, UKeyComparator *fn);
279 * @param hash The UHashtable to set
284 uhash_setValueComparator(UHashtable *hash, UValueComparator *fn);
292 * @param hash The UHashtable to set
297 uhash_setKeyDeleter(UHashtable *hash, UObjectDeleter *fn);
305 * @param hash The UHashtable to set
310 uhash_setValueDeleter(UHashtable *hash, UObjectDeleter *fn);
316 * @param hash The UHashtable to set
320 uhash_setResizePolicy(UHashtable *hash, enum UHashResizePolicy policy);
323 * Get the number of key-value pairs stored in a UHashtable.
324 * @param hash The UHashtable to query.
328 uhash_count(const UHashtable *hash);
331 * Put a (key=pointer, value=pointer) item in a UHashtable. If the
336 * @param hash The target UHashtable.
344 uhash_put(UHashtable *hash,
350 * Put a (key=integer, value=pointer) item in a UHashtable.
354 * @param hash The target UHashtable.
362 uhash_iput(UHashtable *hash,
368 * Put a (key=pointer, value=integer) item in a UHashtable. If the
372 * @param hash The target UHashtable.
380 uhash_puti(UHashtable *hash,
386 * Put a (key=integer, value=integer) item in a UHashtable. If the
390 * @param hash The target UHashtable.
398 uhash_iputi(UHashtable *hash,
404 * Retrieve a pointer value from a UHashtable using a pointer key,
406 * @param hash The target UHashtable.
411 uhash_get(const UHashtable *hash,
415 * Retrieve a pointer value from a UHashtable using a integer key,
417 * @param hash The target UHashtable.
422 uhash_iget(const UHashtable *hash,
426 * Retrieve an integer value from a UHashtable using a pointer key,
428 * @param hash The target UHashtable.
433 uhash_geti(const UHashtable *hash,
436 * Retrieve an integer value from a UHashtable using an integer key,
438 UHashtable.
443 uhash_igeti(const UHashtable *hash,
447 * Remove an item from a UHashtable stored by uhash_put().
448 * @param hash The target UHashtable.
453 uhash_remove(UHashtable *hash,
457 * Remove an item from a UHashtable stored by uhash_iput().
458 * @param hash The target UHashtable.
463 uhash_iremove(UHashtable *hash,
467 * Remove an item from a UHashtable stored by uhash_puti().
468 * @param hash The target UHashtable.
473 uhash_removei(UHashtable *hash,
477 * Remove an item from a UHashtable stored by uhash_iputi().
478 * @param hash The target UHashtable.
483 uhash_iremovei(UHashtable *hash,
487 * Remove all items from a UHashtable.
488 * @param hash The target UHashtable.
491 uhash_removeAll(UHashtable *hash);
494 * Locate an element of a UHashtable. The caller must not modify the
500 * @param hash The target UHashtable.
505 uhash_find(const UHashtable *hash, const void* key);
508 * Iterate through the elements of a UHashtable. The caller must not
514 * @param hash The target UHashtable.
521 uhash_nextElement(const UHashtable *hash,
536 uhash_removeElement(UHashtable *hash, const UHashElement* e);
727 uhash_equals(const UHashtable* hash1, const UHashtable* hash2);