From 0a5f3bfaf090e59dd0c3247eeff84f279782a3c8 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Fri, 20 Sep 2013 17:27:32 +0530 Subject: [PATCH] hashmap: Add a key+value iterator --- src/pulsecore/hashmap.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pulsecore/hashmap.h b/src/pulsecore/hashmap.h index ae030eda8..e42732ae9 100644 --- a/src/pulsecore/hashmap.h +++ b/src/pulsecore/hashmap.h @@ -85,6 +85,10 @@ void* pa_hashmap_last(pa_hashmap *h); #define PA_HASHMAP_FOREACH(e, h, state) \ for ((state) = NULL, (e) = pa_hashmap_iterate((h), &(state), NULL); (e); (e) = pa_hashmap_iterate((h), &(state), NULL)) +/* A macro to ease itration through all key, value pairs */ +#define PA_HASHMAP_FOREACH_KV(k, e, h, state) \ + for ((state) = NULL, (e) = pa_hashmap_iterate((h), &(state), (const void **) &(k)); (e); (e) = pa_hashmap_iterate((h), &(state), (const void **) &(k))) + /* A macro to ease iteration through all entries, backwards */ #define PA_HASHMAP_FOREACH_BACKWARDS(e, h, state) \ for ((state) = NULL, (e) = pa_hashmap_iterate_backwards((h), &(state), NULL); (e); (e) = pa_hashmap_iterate_backwards((h), &(state), NULL))