Mesa (master): gallium/auxiliary: Add helper function to count the number of entries in hash table

Jan Vesely jvesely at kemper.freedesktop.org
Thu May 10 09:15:37 UTC 2018


Module: Mesa
Branch: master
Commit: d146768d139f887105464f0db5600dd046452a8f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d146768d139f887105464f0db5600dd046452a8f

Author: Jan Vesely <jan.vesely at rutgers.edu>
Date:   Wed May  9 15:06:33 2018 -0400

gallium/auxiliary: Add helper function to count the number of entries in hash table

CC: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>

---

 src/gallium/auxiliary/util/u_hash_table.c | 17 +++++++++++++++++
 src/gallium/auxiliary/util/u_hash_table.h |  5 +++++
 2 files changed, 22 insertions(+)

diff --git a/src/gallium/auxiliary/util/u_hash_table.c b/src/gallium/auxiliary/util/u_hash_table.c
index 9e2b6b7de8..77fa477e33 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 9431761341..ac00db8a00 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);
 




More information about the mesa-commit mailing list