[pulseaudio-discuss] [PATCH 1/3] hashmap: Add a key+value iterator

Arun Raghavan arun.raghavan at collabora.co.uk
Fri Sep 20 04:57:32 PDT 2013


---
 src/pulsecore/hashmap.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/pulsecore/hashmap.h b/src/pulsecore/hashmap.h
index ae030ed..e42732a 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))
-- 
1.8.3.1



More information about the pulseaudio-discuss mailing list