Lines Matching refs:name
51 #define RB_HEAD(name, type) \ argument
52 struct name { \
136 #define RB_PROTOTYPE(name, type, field, cmp) \ argument
137 RB_PROTOTYPE_INTERNAL(name, type, field, cmp,)
138 #define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ argument
139 RB_PROTOTYPE_INTERNAL(name, type, field, cmp, UV__UNUSED static)
140 #define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ argument
141 attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \
142 attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
143 attr struct type *name##_RB_REMOVE(struct name *, struct type *); \
144 attr struct type *name##_RB_INSERT(struct name *, struct type *); \
145 attr struct type *name##_RB_FIND(struct name *, struct type *); \
146 attr struct type *name##_RB_NFIND(struct name *, struct type *); \
147 attr struct type *name##_RB_NEXT(struct type *); \
148 attr struct type *name##_RB_PREV(struct type *); \
149 attr struct type *name##_RB_MINMAX(struct name *, int); \
155 #define RB_GENERATE(name, type, field, cmp) \ argument
156 RB_GENERATE_INTERNAL(name, type, field, cmp,)
157 #define RB_GENERATE_STATIC(name, type, field, cmp) \ argument
158 RB_GENERATE_INTERNAL(name, type, field, cmp, UV__UNUSED static)
159 #define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ argument
161 name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \
205 name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, \
284 name##_RB_REMOVE(struct name *head, struct type *elm) \
346 name##_RB_REMOVE_COLOR(head, parent, child); \
352 name##_RB_INSERT(struct name *head, struct type *elm) \
377 name##_RB_INSERT_COLOR(head, elm); \
383 name##_RB_FIND(struct name *head, struct type *elm) \
401 name##_RB_NFIND(struct name *head, struct type *elm) \
422 name##_RB_NEXT(struct type *elm) \
444 name##_RB_PREV(struct type *elm) \
465 name##_RB_MINMAX(struct name *head, int val) \
482 #define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) argument
483 #define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) argument
484 #define RB_FIND(name, x, y) name##_RB_FIND(x, y) argument
485 #define RB_NFIND(name, x, y) name##_RB_NFIND(x, y) argument
486 #define RB_NEXT(name, x) name##_RB_NEXT(x) argument
487 #define RB_PREV(name, x) name##_RB_PREV(x) argument
488 #define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) argument
489 #define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) argument
491 #define RB_FOREACH(x, name, head) \ argument
492 for ((x) = RB_MIN(name, head); \
494 (x) = name##_RB_NEXT(x))
496 #define RB_FOREACH_FROM(x, name, y) \ argument
498 ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \
501 #define RB_FOREACH_SAFE(x, name, head, y) \ argument
502 for ((x) = RB_MIN(name, head); \
503 ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \
506 #define RB_FOREACH_REVERSE(x, name, head) \ argument
507 for ((x) = RB_MAX(name, head); \
509 (x) = name##_RB_PREV(x))
511 #define RB_FOREACH_REVERSE_FROM(x, name, y) \ argument
513 ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \
516 #define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ argument
517 for ((x) = RB_MAX(name, head); \
518 ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \