Lines Matching defs:UHashtable

22  * UHashtable stores key-value pairs and does moderately fast lookup
31 * UHashtable doesn't care and manipulates them via user-supplied
37 * UHashtable ownership of keys and values is flexible, and controlled
40 * then UHashtable can be made to delete that object by setting the
85 * A key or value within a UHashtable.
132 * The UHashtable struct. Clients should treat this as an opaque data
135 struct UHashtable {
171 UBool allocated; /* Was this UHashtable allocated? */
173 typedef struct UHashtable UHashtable;
182 * Initialize a new UHashtable.
188 * @return A pointer to a UHashtable, or 0 if an error occurred.
191 U_CAPI UHashtable* U_EXPORT2
198 * Initialize a new UHashtable with a given initial size.
205 * @return A pointer to a UHashtable, or 0 if an error occurred.
208 U_CAPI UHashtable* U_EXPORT2
216 * Initialize an existing UHashtable.
222 * @return A pointer to a UHashtable, or 0 if an error occurred.
225 U_CAPI UHashtable* U_EXPORT2
226 uhash_init(UHashtable *hash,
233 * Close a UHashtable, releasing the memory used.
234 * @param hash The UHashtable to close. If hash is NULL no operation is performed.
237 uhash_close(UHashtable *hash);
243 * @param hash The UHashtable to set
248 uhash_setKeyHasher(UHashtable *hash, UHashFunction *fn);
253 * @param hash The UHashtable to set
258 uhash_setKeyComparator(UHashtable *hash, UKeyComparator *fn);
263 * @param hash The UHashtable to set
268 uhash_setValueComparator(UHashtable *hash, UValueComparator *fn);
276 * @param hash The UHashtable to set
281 uhash_setKeyDeleter(UHashtable *hash, UObjectDeleter *fn);
289 * @param hash The UHashtable to set
294 uhash_setValueDeleter(UHashtable *hash, UObjectDeleter *fn);
300 * @param hash The UHashtable to set
304 uhash_setResizePolicy(UHashtable *hash, enum UHashResizePolicy policy);
307 * Get the number of key-value pairs stored in a UHashtable.
308 * @param hash The UHashtable to query.
312 uhash_count(const UHashtable *hash);
315 * Put a (key=pointer, value=pointer) item in a UHashtable. If the
320 * @param hash The target UHashtable.
328 uhash_put(UHashtable *hash,
334 * Put a (key=integer, value=pointer) item in a UHashtable.
338 * @param hash The target UHashtable.
346 uhash_iput(UHashtable *hash,
352 * Put a (key=pointer, value=integer) item in a UHashtable. If the
356 * @param hash The target UHashtable.
364 uhash_puti(UHashtable *hash,
370 * Put a (key=integer, value=integer) item in a UHashtable. If the
374 * @param hash The target UHashtable.
382 uhash_iputi(UHashtable *hash,
388 * Retrieve a pointer value from a UHashtable using a pointer key,
390 * @param hash The target UHashtable.
395 uhash_get(const UHashtable *hash,
399 * Retrieve a pointer value from a UHashtable using a integer key,
401 * @param hash The target UHashtable.
406 uhash_iget(const UHashtable *hash,
410 * Retrieve an integer value from a UHashtable using a pointer key,
412 * @param hash The target UHashtable.
417 uhash_geti(const UHashtable *hash,
420 * Retrieve an integer value from a UHashtable using an integer key,
422 * @param hash The target UHashtable.
427 uhash_igeti(const UHashtable *hash,
431 * Remove an item from a UHashtable stored by uhash_put().
432 * @param hash The target UHashtable.
437 uhash_remove(UHashtable *hash,
441 * Remove an item from a UHashtable stored by uhash_iput().
442 * @param hash The target UHashtable.
447 uhash_iremove(UHashtable *hash,
451 * Remove an item from a UHashtable stored by uhash_puti().
452 * @param hash The target UHashtable.
457 uhash_removei(UHashtable *hash,
461 * Remove an item from a UHashtable stored by uhash_iputi().
462 * @param hash The target UHashtable.
467 uhash_iremovei(UHashtable *hash,
471 * Remove all items from a UHashtable.
472 * @param hash The target UHashtable.
475 uhash_removeAll(UHashtable *hash);
478 * Locate an element of a UHashtable. The caller must not modify the
484 * @param hash The target UHashtable.
489 uhash_find(const UHashtable *hash, const void* key);
499 * Iterate through the elements of a UHashtable. The caller must not
505 * @param hash The target UHashtable.
512 uhash_nextElement(const UHashtable *hash,
527 uhash_removeElement(UHashtable *hash, const UHashElement* e);
675 uhash_equals(const UHashtable* hash1, const UHashtable* hash2);
691 U_DEFINE_LOCAL_OPEN_POINTER(LocalUHashtablePointer, UHashtable, uhash_close);