summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/hash_table.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-03-23 12:05:56 -0700
committerEric Anholt <eric@anholt.net>2011-04-26 12:20:02 -0700
commitb061b5ffb055c64ffc45e506bad877f47942ba01 (patch)
treec47250ca0738edd91efdacdf866eb9c3945a6a49 /src/mesa/program/hash_table.h
parentb943b9b1a696cf51adfb2a18bcb9cf503fb2737f (diff)
downloadexternal_mesa3d-b061b5ffb055c64ffc45e506bad877f47942ba01.zip
external_mesa3d-b061b5ffb055c64ffc45e506bad877f47942ba01.tar.gz
external_mesa3d-b061b5ffb055c64ffc45e506bad877f47942ba01.tar.bz2
hash_table: Add an iterator for doing things like cleanup of the HT.
Without this, consumers often have to keep linked lists of the entries, at additional malloc cost. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/program/hash_table.h')
-rw-r--r--src/mesa/program/hash_table.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/program/hash_table.h b/src/mesa/program/hash_table.h
index f1c4fdc..e715bb1 100644
--- a/src/mesa/program/hash_table.h
+++ b/src/mesa/program/hash_table.h
@@ -144,6 +144,13 @@ hash_table_pointer_hash(const void *key);
int
hash_table_pointer_compare(const void *key1, const void *key2);
+void
+hash_table_call_foreach(struct hash_table *ht,
+ void (*callback)(const void *key,
+ void *data,
+ void *closure),
+ void *closure);
+
#ifdef __cplusplus
}
#endif