Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/tree.h
Show First 20 Lines • Show All 327 Lines • ▼ Show 20 Lines | |||||
#define RB_RIGHT(elm, field) RB_PTR(RB_RT(elm, field), field) | #define RB_RIGHT(elm, field) RB_PTR(RB_RT(elm, field), field) | ||||
#define RB_PARENT(elm, field) (elm)->field.rbe_parent | #define RB_PARENT(elm, field) (elm)->field.rbe_parent | ||||
#define RB_ROOT(head) (head)->rbh_root | #define RB_ROOT(head) (head)->rbh_root | ||||
#define RB_EMPTY(head) (RB_ROOT(head) == NULL) | #define RB_EMPTY(head) (RB_ROOT(head) == NULL) | ||||
#define RB_BOOL int | #define RB_BOOL int | ||||
#define RB_TRUE 1 | #define RB_TRUE 1 | ||||
#define RB_FALSE 0 | #define RB_FALSE 0 | ||||
/* For debugging support */ | |||||
#define RB_COLOR(elm, field) (RB_PARENT(elm, field) == NULL ? RB_FALSE : \ | |||||
RB_LEFT(RB_PARENT(elm, field), field) == elm ? \ | |||||
RB_RED_LF(RB_PARENT(elm, field), field) : \ | |||||
RB_RED_RT(RB_PARENT(elm, field), field) | |||||
/* | /* | ||||
* Something to be invoked in a loop at the root of every modified subtree, | * Something to be invoked in a loop at the root of every modified subtree, | ||||
* from the bottom up to the root, to update augmented node data. | * from the bottom up to the root, to update augmented node data. | ||||
*/ | */ | ||||
#ifndef RB_AUGMENT | #ifndef RB_AUGMENT | ||||
#define RB_AUGMENT(x) break | #define RB_AUGMENT(x) break | ||||
#endif | #endif | ||||
▲ Show 20 Lines • Show All 458 Lines • Show Last 20 Lines |