]> git.saurik.com Git - apple/libc.git/blobdiff - include/sys/rbtree.h
Libc-1244.1.7.tar.gz
[apple/libc.git] / include / sys / rbtree.h
index e74b017a422deb175c5a5578c8d2cf657afbadb0..b57f32e11e66babd7640c06842de09866f0424fc 100644 (file)
@@ -52,9 +52,16 @@ __BEGIN_DECLS
 #define RB_TREE_FOREACH(N, T) \
     for ((N) = RB_TREE_MIN(T); (N); \
        (N) = rb_tree_iterate((T), (N), RB_DIR_RIGHT))
+#define RB_TREE_FOREACH_SAFE(N, T, TVAR) \
+    for ((N) = RB_TREE_MIN(T); (N) && ((TVAR) = rb_tree_iterate((T), (N), RB_DIR_RIGHT)); \
+       (N) = (TVAR))
 #define RB_TREE_FOREACH_REVERSE(N, T) \
     for ((N) = RB_TREE_MAX(T); (N); \
        (N) = rb_tree_iterate((T), (N), RB_DIR_LEFT))
+#define RB_TREE_FOREACH_REVERSE_SAFE(N, T, TVAR) \
+    for ((N) = RB_TREE_MAX(T); (N) && ((TVAR) = rb_tree_iterate((T), (N), RB_DIR_LEFT)); \
+       (N) = (TVAR))
+
 
 /*
  * rbto_compare_nodes_fn: