Lines Matching refs:field
86 * \param field The rb_node field in the containing data structure
88 #define rb_node_data(type, node, field) \
89 ((type *)(((char *)(node)) - offsetof(type, field)))
237 * \param field The rb_node field in containing data structure
239 #define rb_tree_node_next_if_available(type, node, field) \
240 (&node->field != NULL) ? rb_node_data(type, rb_node_next(&node->field), field) : node
249 * \param field The rb_node field in containing data structure
251 #define rb_tree_node_prev_if_available(type, node, field) \
252 (&node->field != NULL) ? rb_node_data(type, rb_node_prev(&node->field), field) : node
263 * \param field The rb_node field in containing data structure
265 #define rb_tree_foreach(type, node, T, field) \
266 for (type *node = rb_node_data(type, rb_tree_first(T), field); \
267 &node->field != NULL; \
268 node = rb_node_data(type, rb_node_next(&node->field), field))
279 * \param field The rb_node field in containing data structure
281 #define rb_tree_foreach_safe(type, node, T, field) \
282 for (type *node = rb_node_data(type, rb_tree_first(T), field), \
283 *__next = rb_tree_node_next_if_available(type, node, field); \
284 &node->field != NULL; \
285 node = __next, __next = rb_tree_node_next_if_available(type, node, field))
296 * \param field The rb_node field in containing data structure
298 #define rb_tree_foreach_rev(type, node, T, field) \
299 for (type *node = rb_node_data(type, rb_tree_last(T), field); \
300 &node->field != NULL; \
301 node = rb_node_data(type, rb_node_prev(&node->field), field))
312 * \param field The rb_node field in containing data structure
314 #define rb_tree_foreach_rev_safe(type, node, T, field) \
315 for (type *node = rb_node_data(type, rb_tree_last(T), field), \
316 *__prev = rb_tree_node_prev_if_available(type, node, field); \
317 &node->field != NULL; \
318 node = __prev, __prev = rb_tree_node_prev_if_available(type, node, field))