diff options
author | Jan Vesely <[email protected]> | 2018-05-09 15:06:33 -0400 |
---|---|---|
committer | Jan Vesely <[email protected]> | 2018-05-10 05:12:43 -0400 |
commit | d146768d139f887105464f0db5600dd046452a8f (patch) | |
tree | d1bf04b14c1436e9a2363bdd4753ccf1cce249fc /src/gallium/auxiliary | |
parent | 0defc5554780a444c9e2009178dc88f97740a174 (diff) |
gallium/auxiliary: Add helper function to count the number of entries in hash table
CC: <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Jan Vesely <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/util/u_hash_table.c | 17 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_hash_table.h | 5 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_hash_table.c b/src/gallium/auxiliary/util/u_hash_table.c index 9e2b6b7de8b..77fa477e33a 100644 --- a/src/gallium/auxiliary/util/u_hash_table.c +++ b/src/gallium/auxiliary/util/u_hash_table.c @@ -270,6 +270,23 @@ util_hash_table_foreach(struct util_hash_table *ht, } +static enum pipe_error +util_hash_inc(void *k, void *v, void *d) +{ + ++*(size_t *)d; + return PIPE_OK; +} + + +size_t +util_hash_table_count(struct util_hash_table *ht) +{ + size_t count = 0; + util_hash_table_foreach(ht, util_hash_inc, &count); + return count; +} + + void util_hash_table_destroy(struct util_hash_table *ht) { diff --git a/src/gallium/auxiliary/util/u_hash_table.h b/src/gallium/auxiliary/util/u_hash_table.h index 9431761341e..ac00db8a00b 100644 --- a/src/gallium/auxiliary/util/u_hash_table.h +++ b/src/gallium/auxiliary/util/u_hash_table.h @@ -85,6 +85,11 @@ util_hash_table_foreach(struct util_hash_table *ht, (void *key, void *value, void *data), void *data); + +size_t +util_hash_table_count(struct util_hash_table *ht); + + void util_hash_table_destroy(struct util_hash_table *ht); |