|
#define | RTEMS_SPLAY_HEAD(name, type) |
|
#define | RTEMS_SPLAY_INITIALIZER(root) { NULL } |
|
#define | RTEMS_SPLAY_INIT(root) |
|
#define | RTEMS_SPLAY_ENTRY(type) |
|
#define | RTEMS_SPLAY_LEFT(elm, field) (elm)->field.spe_left |
|
#define | RTEMS_SPLAY_RIGHT(elm, field) (elm)->field.spe_right |
|
#define | RTEMS_SPLAY_ROOT(head) (head)->sph_root |
|
#define | RTEMS_SPLAY_EMPTY(head) (RTEMS_SPLAY_ROOT(head) == NULL) |
|
#define | RTEMS_SPLAY_ROTATE_RIGHT(head, tmp, field) |
|
#define | RTEMS_SPLAY_ROTATE_LEFT(head, tmp, field) |
|
#define | RTEMS_SPLAY_LINKLEFT(head, tmp, field) |
|
#define | RTEMS_SPLAY_LINKRIGHT(head, tmp, field) |
|
#define | RTEMS_SPLAY_ASSEMBLE(head, node, left, right, field) |
|
#define | RTEMS_SPLAY_PROTOTYPE(name, type, field, cmp) |
|
#define | RTEMS_SPLAY_GENERATE(name, type, field, cmp) |
|
#define | RTEMS_SPLAY_NEGINF -1 |
|
#define | RTEMS_SPLAY_INF 1 |
|
#define | RTEMS_SPLAY_INSERT(name, x, y) name##_RTEMS_SPLAY_INSERT(x, y) |
|
#define | RTEMS_SPLAY_REMOVE(name, x, y) name##_RTEMS_SPLAY_REMOVE(x, y) |
|
#define | RTEMS_SPLAY_FIND(name, x, y) name##_RTEMS_SPLAY_FIND(x, y) |
|
#define | RTEMS_SPLAY_NEXT(name, x, y) name##_RTEMS_SPLAY_NEXT(x, y) |
|
#define | RTEMS_SPLAY_MIN(name, x) |
|
#define | RTEMS_SPLAY_MAX(name, x) |
|
#define | RTEMS_SPLAY_FOREACH(x, name, head) |
|
#define | RTEMS_RB_HEAD(name, type) |
|
#define | RTEMS_RB_INITIALIZER(root) { NULL } |
|
#define | RTEMS_RB_INIT(root) |
|
#define | RTEMS_RB_BLACK 0 |
|
#define | RTEMS_RB_RED 1 |
|
#define | RTEMS_RB_ENTRY(type) |
|
#define | RTEMS_RB_LEFT(elm, field) (elm)->field.rbe_left |
|
#define | RTEMS_RB_RIGHT(elm, field) (elm)->field.rbe_right |
|
#define | RTEMS_RB_PARENT(elm, field) (elm)->field.rbe_parent |
|
#define | RTEMS_RB_COLOR(elm, field) (elm)->field.rbe_color |
|
#define | RTEMS_RB_ISRED(elm, field) ((elm) != NULL && RTEMS_RB_COLOR(elm, field) == RTEMS_RB_RED) |
|
#define | RTEMS_RB_ROOT(head) (head)->rbh_root |
|
#define | RTEMS_RB_EMPTY(head) (RTEMS_RB_ROOT(head) == NULL) |
|
#define | RTEMS_RB_SET_PARENT(dst, src, field) |
|
#define | RTEMS_RB_SET(elm, parent, field) |
|
#define | RTEMS_RB_SET_BLACKRED(black, red, field) |
|
#define | RTEMS_RB_AUGMENT(x) break |
|
#define | RTEMS_RB_SWAP_CHILD(head, out, in, field) |
|
#define | RTEMS_RB_ROTATE_LEFT(head, elm, tmp, field) |
|
#define | RTEMS_RB_ROTATE_RIGHT(head, elm, tmp, field) |
|
#define | RTEMS_RB_PARENT_ROTATE_LEFT(parent, left, tmp, field) |
|
#define | RTEMS_RB_PARENT_ROTATE_RIGHT(parent, right, tmp, field) |
|
#define | RTEMS_RB_RED_ROTATE_LEFT(head, elm, tmp, field) |
|
#define | RTEMS_RB_RED_ROTATE_RIGHT(head, elm, tmp, field) |
|
#define | RTEMS_RB_PROTOTYPE(name, type, field, cmp) RTEMS_RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) |
|
#define | RTEMS_RB_PROTOTYPE_STATIC(name, type, field, cmp) RTEMS_RB_PROTOTYPE_INTERNAL(name, type, field, cmp, __unused static) |
|
#define | RTEMS_RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_PROTOTYPE_INSERT_COLOR(name, type, attr) attr void name##_RTEMS_RB_INSERT_COLOR(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_REMOVE_COLOR(name, type, attr) attr void name##_RTEMS_RB_REMOVE_COLOR(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_REMOVE(name, type, attr) attr struct type *name##_RTEMS_RB_REMOVE(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_INSERT(name, type, attr) attr struct type *name##_RTEMS_RB_INSERT(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_FIND(name, type, attr) attr struct type *name##_RTEMS_RB_FIND(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_NFIND(name, type, attr) attr struct type *name##_RTEMS_RB_NFIND(struct name *, struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_NEXT(name, type, attr) attr struct type *name##_RTEMS_RB_NEXT(struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_PREV(name, type, attr) attr struct type *name##_RTEMS_RB_PREV(struct type *) |
|
#define | RTEMS_RB_PROTOTYPE_MINMAX(name, type, attr) attr struct type *name##_RTEMS_RB_MINMAX(struct name *, int) |
|
#define | RTEMS_RB_PROTOTYPE_REINSERT(name, type, attr) attr struct type *name##_RTEMS_RB_REINSERT(struct name *, struct type *) |
|
#define | RTEMS_RB_GENERATE(name, type, field, cmp) RTEMS_RB_GENERATE_INTERNAL(name, type, field, cmp,) |
|
#define | RTEMS_RB_GENERATE_STATIC(name, type, field, cmp) RTEMS_RB_GENERATE_INTERNAL(name, type, field, cmp, __unused static) |
|
#define | RTEMS_RB_GENERATE_INTERNAL(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_GENERATE_INSERT_COLOR(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_REMOVE_COLOR(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_REMOVE(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_INSERT(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_GENERATE_FIND(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_GENERATE_NFIND(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_GENERATE_NEXT(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_PREV(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_MINMAX(name, type, field, attr) |
|
#define | RTEMS_RB_GENERATE_REINSERT(name, type, field, cmp, attr) |
|
#define | RTEMS_RB_NEGINF -1 |
|
#define | RTEMS_RB_INF 1 |
|
#define | RTEMS_RB_INSERT(name, x, y) name##_RTEMS_RB_INSERT(x, y) |
|
#define | RTEMS_RB_REMOVE(name, x, y) name##_RTEMS_RB_REMOVE(x, y) |
|
#define | RTEMS_RB_FIND(name, x, y) name##_RTEMS_RB_FIND(x, y) |
|
#define | RTEMS_RB_NFIND(name, x, y) name##_RTEMS_RB_NFIND(x, y) |
|
#define | RTEMS_RB_NEXT(name, x, y) name##_RTEMS_RB_NEXT(y) |
|
#define | RTEMS_RB_PREV(name, x, y) name##_RTEMS_RB_PREV(y) |
|
#define | RTEMS_RB_MIN(name, x) name##_RTEMS_RB_MINMAX(x, RTEMS_RB_NEGINF) |
|
#define | RTEMS_RB_MAX(name, x) name##_RTEMS_RB_MINMAX(x, RTEMS_RB_INF) |
|
#define | RTEMS_RB_REINSERT(name, x, y) name##_RTEMS_RB_REINSERT(x, y) |
|
#define | RTEMS_RB_FOREACH(x, name, head) |
|
#define | RTEMS_RB_FOREACH_FROM(x, name, y) |
|
#define | RTEMS_RB_FOREACH_SAFE(x, name, head, y) |
|
#define | RTEMS_RB_FOREACH_REVERSE(x, name, head) |
|
#define | RTEMS_RB_FOREACH_REVERSE_FROM(x, name, y) |
|
#define | RTEMS_RB_FOREACH_REVERSE_SAFE(x, name, head, y) |
|
This header file provides a red-black tree implementation.
The contents of this file come from the above version of FreeBSD with local changes applied in Newlib and then migrated to RTEMS. These changes lock RTEMS to a specific version of this file. As a result, the macros defined in this file have been scoped with an RTEMS_ namespace. This allows other versions of tree.h to be used by RTEMS libraries and applications without conflicts.