summaryrefslogtreecommitdiffstats
path: root/Hashtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'Hashtable.c')
-rw-r--r--Hashtable.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Hashtable.c b/Hashtable.c
index c1e63c05..4cd63109 100644
--- a/Hashtable.c
+++ b/Hashtable.c
@@ -46,6 +46,19 @@ bool Hashtable_isConsistent(Hashtable* this) {
return items == this->items;
}
+int Hashtable_count(Hashtable* this) {
+ int items = 0;
+ for (int i = 0; i < this->size; i++) {
+ HashtableItem* bucket = this->buckets[i];
+ while (bucket) {
+ items++;
+ bucket = bucket->next;
+ }
+ }
+ assert(items == this->items);
+ return items;
+}
+
#endif
HashtableItem* HashtableItem_new(int key, void* value) {