hmap: New function hmap_is_empty().
[pspp-builds.git] / src / libpspp / hmap.h
index c9e764dec563a92df08491839259e5f061884963..1592f803bedb17bd9c1ca4dc285f5bd6e72fd1c4 100644 (file)
        }
    */
 
+#include <stdbool.h>
 #include <stddef.h>
 #include <libpspp/cast.h>
 
@@ -182,6 +183,7 @@ static inline struct hmap_node *hmap_next (const struct hmap *,
                                            const struct hmap_node *);
 
 /* Counting. */
+static bool hmap_is_empty (const struct hmap *);
 static inline size_t hmap_count (const struct hmap *);
 static inline size_t hmap_capacity (const struct hmap *);
 
@@ -442,6 +444,14 @@ hmap_next (const struct hmap *map, const struct hmap_node *node)
           : hmap_first_nonempty_bucket__ (map, (node->hash & map->mask) + 1));
 }
 
+/* Returns true if MAP currently contains no data items, false
+   otherwise. */
+static inline bool
+hmap_is_empty (const struct hmap *map)
+{
+  return map->count == 0;
+}
+
 /* Returns the number of data items currently in MAP. */
 static inline size_t
 hmap_count (const struct hmap *map)