[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 2/6] queue: Add macro for incremental traversal
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH v5 2/6] queue: Add macro for incremental traversal |
Date: |
Wed, 28 Dec 2016 17:27:54 +0100 |
User-agent: |
StGit/0.17.1-dirty |
Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
traversal.
Signed-off-by: Lluís Vilanova <address@hidden>
---
include/qemu/queue.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/include/qemu/queue.h b/include/qemu/queue.h
index 342073fb4d..ea6130f1c9 100644
--- a/include/qemu/queue.h
+++ b/include/qemu/queue.h
@@ -415,6 +415,18 @@ struct {
\
(var); \
(var) = ((var)->field.tqe_next))
+/**
+ * QTAILQ_FOREACH_CONTINUE:
+ * @var: Variable to resume iteration from.
+ * @field: Field in @var holding a QTAILQ_ENTRY for this queue.
+ *
+ * Resumes iteration on a queue from the element in @var.
+ */
+#define QTAILQ_FOREACH_CONTINUE(var, field) \
+ for ((var) = ((var)->field.tqe_next); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
#define QTAILQ_FOREACH_SAFE(var, head, field, next_var) \
for ((var) = ((head)->tqh_first); \
(var) && ((next_var) = ((var)->field.tqe_next), 1); \
- [Qemu-devel] [RFC PATCH v5 0/6] translate: [tcg] Generic translation framework, Lluís Vilanova, 2016/12/28
- [Qemu-devel] [PATCH v5 2/6] queue: Add macro for incremental traversal,
Lluís Vilanova <=
- [Qemu-devel] [PATCH v5 3/6] target: [tcg] Add generic translation framework, Lluís Vilanova, 2016/12/28
- [Qemu-devel] [PATCH v5 4/6] target: [tcg] Redefine DISAS_* onto the generic translation framework (DJ_*), Lluís Vilanova, 2016/12/28
- [Qemu-devel] [PATCH v5 5/6] target: [tcg, i386] Port to generic translation framework, Lluís Vilanova, 2016/12/28
- [Qemu-devel] [PATCH v5 6/6] target: [tcg, arm] Port to generic translation framework, Lluís Vilanova, 2016/12/28
- [Qemu-devel] [PATCH v5 1/6] Pass generic CPUState to gen_intermediate_code(), Lluís Vilanova, 2016/12/28