((STRUCT *) ((char *) (NODE) - offsetof (STRUCT, MEMBER)))
/* Node in a balanced binary tree. */
((STRUCT *) ((char *) (NODE) - offsetof (STRUCT, MEMBER)))
/* Node in a balanced binary tree. */
{
struct bt_node *up; /* Parent (NULL for root). */
struct bt_node *down[2]; /* Left child, right child. */
{
struct bt_node *up; /* Parent (NULL for root). */
struct bt_node *down[2]; /* Left child, right child. */
{
struct bt_node *root; /* Tree's root, NULL if empty. */
bt_compare_func *compare; /* To compare nodes. */
{
struct bt_node *root; /* Tree's root, NULL if empty. */
bt_compare_func *compare; /* To compare nodes. */
void bt_moved (struct bt *, struct bt_node *);
/* Returns the number of nodes currently in BT. */
void bt_moved (struct bt *, struct bt_node *);
/* Returns the number of nodes currently in BT. */