diff options
| -rw-r--r-- | include/libft_ht.h | 1 | ||||
| -rw-r--r-- | src/ht/ft_htiter.c | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/libft_ht.h b/include/libft_ht.h index 5a764b6..ea6cb3f 100644 --- a/include/libft_ht.h +++ b/include/libft_ht.h @@ -45,6 +45,7 @@ void ft_htdelone(t_ftht *ht, char *key, void (*del)(t_ftht_content*)); void ft_htdelone_key(t_ftht *ht, char *key); t_ftht_content *ft_htcontent_new(char *key, void *value); +void ft_htiter(t_ftht *ht, void (*f)(t_ftht_content*)); /* ** internals diff --git a/src/ht/ft_htiter.c b/src/ht/ft_htiter.c new file mode 100644 index 0000000..5473412 --- /dev/null +++ b/src/ht/ft_htiter.c @@ -0,0 +1,17 @@ +#include "libft_ht.h" + +/* +** Iterate function `f` over every pair in `ht`. +*/ + +void ft_htiter(t_ftht *ht, void (*f)(t_ftht_content*)) +{ + size_t i; + + i = 0; + while (i < ht->size) + { + ft_lstiter(ht->entries[i], (void (*)(void*))f); + i++; + } +} |
