Lines Matching refs:node

75 #define TREE_DEFINE(node, field)                                                                   …  argument
77 …static struct node *_HU_FUNCTION(TREE_BALANCE_##node##_##field)(struct node *); …
79 …static struct node *_HU_FUNCTION(TREE_ROTL_##node##_##field)(struct node * self) …
81 …struct node *r = self->field.avl_right; …
83 …r->field.avl_left = TREE_BALANCE_##node##_##field(self); …
84 …return TREE_BALANCE_##node##_##field(r); …
87 …static struct node *_HU_FUNCTION(TREE_ROTR_##node##_##field)(struct node * self) …
89 …struct node *l = self->field.avl_left; …
91 …l->field.avl_right = TREE_BALANCE_##node##_##field(self); …
92 …return TREE_BALANCE_##node##_##field(l); …
95 …static struct node *_HU_FUNCTION(TREE_BALANCE_##node##_##field)(struct node * self) …
101 …self->field.avl_right = TREE_ROTR_##node##_##field(self->field.avl_right); …
102 …return TREE_ROTL_##node##_##field(self); …
106 …self->field.avl_left = TREE_ROTL_##node##_##field(self->field.avl_left); …
107 …return TREE_ROTR_##node##_##field(self); …
118 …ic struct node *_HU_FUNCTION(TREE_INSERT_##node##_##field)(struct node * self, struct node * elm, …
123 …self->field.avl_left = TREE_INSERT_##node##_##field(self->field.avl_left, elm, compare); …
125 …self->field.avl_right = TREE_INSERT_##node##_##field(self->field.avl_right, elm, compare); …
126 …return TREE_BALANCE_##node##_##field(self); …
129 …tic struct node *_HU_FUNCTION(TREE_FIND_##node##_##field)(struct node * self, struct node * elm, i…
136 …return TREE_FIND_##node##_##field(self->field.avl_left, elm, compare); …
138 …return TREE_FIND_##node##_##field(self->field.avl_right, elm, compare); …
141 …static struct node *_HU_FUNCTION(TREE_MOVE_RIGHT)(struct node * self, struct node * rhs) …
146 …return TREE_BALANCE_##node##_##field(self); …
149 …ic struct node *_HU_FUNCTION(TREE_REMOVE_##node##_##field)(struct node * self, struct node * elm, …
154 …struct node *tmp = TREE_MOVE_RIGHT(self->field.avl_left, self->field.avl_right); …
160 …self->field.avl_left = TREE_REMOVE_##node##_##field(self->field.avl_left, elm, compare); …
162 …self->field.avl_right = TREE_REMOVE_##node##_##field(self->field.avl_right, elm, compare); …
163 …return TREE_BALANCE_##node##_##field(self); …
166 …id _HU_FUNCTION(TREE_FORWARD_APPLY_ALL_##node##_##field)(struct node * self, void (*function)(stru…
169 …TREE_FORWARD_APPLY_ALL_##node##_##field(self->field.avl_left, function, data); …
171 …TREE_FORWARD_APPLY_ALL_##node##_##field(self->field.avl_right, function, data); …
175 …id _HU_FUNCTION(TREE_REVERSE_APPLY_ALL_##node##_##field)(struct node * self, void (*function)(stru…
178 …TREE_REVERSE_APPLY_ALL_##node##_##field(self->field.avl_right, function, data); …
180 …TREE_REVERSE_APPLY_ALL_##node##_##field(self->field.avl_left, function, data); …
184 #define TREE_INSERT(head, node, field, elm) \ argument
185 ((head)->th_root = TREE_INSERT_##node##_##field((head)->th_root, (elm), (head)->th_cmp))
187 #define TREE_FIND(head, node, field, elm) \ argument
188 (TREE_FIND_##node##_##field((head)->th_root, (elm), (head)->th_cmp))
190 #define TREE_REMOVE(head, node, field, elm) \ argument
191 ((head)->th_root = TREE_REMOVE_##node##_##field((head)->th_root, (elm), (head)->th_cmp))
196 #define TREE_FORWARD_APPLY(head, node, field, function, data) \ argument
197 TREE_FORWARD_APPLY_ALL_##node##_##field((head)->th_root, function, data)
199 #define TREE_REVERSE_APPLY(head, node, field, function, data) \ argument
200 TREE_REVERSE_APPLY_ALL_##node##_##field((head)->th_root, function, data)