/* PSPP - a program for statistical analysis.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
}
*/
+#include <stdbool.h>
#include <stddef.h>
#include <libpspp/cast.h>
/* Creation and destruction. */
void hmap_init (struct hmap *);
void hmap_swap (struct hmap *, struct hmap *);
+void hmap_clear (struct hmap *);
void hmap_destroy (struct hmap *);
/* Storage management. */
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 *);
: 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)