From e792d0a3ff1c1da456c241530571263df0b887b5 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 4 Mar 2020 16:19:05 +0100 Subject: Added ft_htiter.c --- include/libft_ht.h | 1 + src/ht/ft_htiter.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/ht/ft_htiter.c 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++; + } +} -- cgit