]> code.delx.au - pulseaudio/blobdiff - polyp/hashmap.h
some commenting
[pulseaudio] / polyp / hashmap.h
index f858c3550e5c914318a22483271c0a661c5b2fb0..d55834c1ae8b3561530bf67823579d794b68d1a8 100644 (file)
   USA.
 ***/
 
+/* Simple Implementation of a hash table. Memory management is the
+ * user's job. It's a good idea to have the key pointer point to a
+ * string in the value data. */
+
 struct pa_hashmap;
 
+/* Create a new hashmap. Use the specified functions for hashing and comparing objects in the map */
 struct pa_hashmap *pa_hashmap_new(unsigned (*hash_func) (const void *p), int (*compare_func) (const void*a, const void*b));
+
+/* Free the hash table. Calls the specified function for every value in the table. The function may be NULL */
 void pa_hashmap_free(struct pa_hashmap*, void (*free_func)(void *p, void *userdata), void *userdata);
 
+/* Returns non-zero when the entry already exists */
 int pa_hashmap_put(struct pa_hashmap *h, const void *key, void *value);
 void* pa_hashmap_get(struct pa_hashmap *h, const void *key);
 
+/* Returns the data of the entry while removing */
 void* pa_hashmap_remove(struct pa_hashmap *h, const void *key);
 
 unsigned pa_hashmap_ncontents(struct pa_hashmap *h);