From f2b07f35d2ee1c6a501d1e3c68c0db42c70751fd Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Mon, 7 Jun 2010 16:07:29 -0300 Subject: QDict: Introduce new iteration API It's composed of functions qdict_first() and qdict_next(), plus functions to access QDictEntry values. This API was suggested by Markus Armbruster and it offers full control over the iteration process. The usage is simple, the following example prints all keys in 'qdict' (it's hopefully better than any English description): QDict *qdict; const QDictEntry *ent; [...] for (ent = qdict_first(qdict); ent; ent = qdict_next(qdict, ent)) { printf("%s ", qdict_entry_key(ent)); } Signed-off-by: Luiz Capitulino --- qdict.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'qdict.h') diff --git a/qdict.h b/qdict.h index 0c8de3c9c2..0e7a43fcb9 100644 --- a/qdict.h +++ b/qdict.h @@ -45,6 +45,8 @@ QDict *qobject_to_qdict(const QObject *obj); void qdict_iter(const QDict *qdict, void (*iter)(const char *key, QObject *obj, void *opaque), void *opaque); +const QDictEntry *qdict_first(const QDict *qdict); +const QDictEntry *qdict_next(const QDict *qdict, const QDictEntry *entry); /* Helper to qdict_put_obj(), accepts any object */ #define qdict_put(qdict, key, obj) \ -- cgit v1.2.1