Lines Matching refs:var
87 #define __TREE_DFS_PUSH(scratch, var) \ argument
89 *(++((scratch)->sp)) = (var))
93 #define TREE_DFS_FOREACH(var, root, scratch, field) \ argument
95 (var) = (root); (var); \
96 (var) = (var)->field.tn_first \
97 ? ((((var)->field.tn_younger && (var) != (root)) \
98 ? __TREE_DFS_PUSH(scratch, (var)->field.tn_younger) : 0), \
99 (var)->field.tn_first) \
100 : ((var)->field.tn_younger && (var) != (root)) \
101 ? (var)->field.tn_younger : __TREE_DFS_POP(scratch))
103 #define TREE_DFS_FOREACH_SELECTIVE(var, root, scratch, field, sel) \ argument
105 (var) = (root); (sel = true, var); \
106 (var) = ((sel) && (var)->field.tn_first) \
107 ? ((((var)->field.tn_younger && (var) != (root)) \
108 ? __TREE_DFS_PUSH(scratch, (var)->field.tn_younger) : 0), \
109 (var)->field.tn_first) \
110 : ((var)->field.tn_younger && (var) != (root)) \
111 ? (var)->field.tn_younger : __TREE_DFS_POP(scratch))
113 #define __TREE_BFS_ENQUEUE(scratch, var) \ argument
114 (*(((scratch)->tail)++) = (var))
118 #define TREE_BFS_FOREACH(var, root, scratch, field) \ argument
120 (var) = (root); (var); \
121 (var) = (var)->field.tn_first \
122 ? (var)->field.tn_younger \
124 (__TREE_BFS_ENQUEUE(scratch, (var)->field.tn_first), \
125 (var)->field.tn_younger) \
128 (__TREE_BFS_ENQUEUE(scratch, (var)->field.tn_first), \
131 (var)->field.tn_first \
132 : (var)->field.tn_younger \
134 (var)->field.tn_younger \
140 #define TREE_BFS_FOREACH_SELECTIVE(var, root, scratch, field, sel) \ argument
142 (var) = (root); (sel = true, var); \
143 (var) = ((sel) && (var)->field.tn_first) \
144 ? (var)->field.tn_younger \
146 (__TREE_BFS_ENQUEUE(scratch, (var)->field.tn_first), \
147 (var)->field.tn_younger) \
150 (__TREE_BFS_ENQUEUE(scratch, (var)->field.tn_first), \
153 (var)->field.tn_first \
154 : (var)->field.tn_younger \
156 (var)->field.tn_younger \