34 {
while((t = root->left) )
50 {
while((t = root->
right) )
54 {
while((t = root->left) )
75 l->
right = root->left;
76 r->left = root->
right;
94 else if(root &&
_DTOBJ(root,lk) != obj)
102 {
if((t = root->left) )
107 if(!(root = t->left) )
118 if(!(root = t->
right) )
129 {
if((t = root->
right) )
134 if(!(root = t->
right) )
145 if(!(root = t->left) )
160 l->
right = root->left;
161 r->left = root->
right;
165 root->left = link.
right;
166 root->
right = link.left;
169 while((t = root->left) )
171 while((r = t->
right) )
186 { root->left = link.
right;
190 if((root = link.left) )
191 {
while((t = root->left) )
193 link.left = root->
right;
199 { root->
right = link.left;
203 if((root = link.
right) )
204 {
while((t = root->
right) )
206 link.right = root->left;
228 root->
right = link.left;
242 me->
right = link.left;
260 while((t = r->left) )
262 r->left = link.
right;
#define _DTKEY(o, ky, sz)
#define _DTDSC(dc, ky, sz, lk, cmpf)
int(* Dtcompar_f)(void *, void *)
#define _DTCMP(k1, k2, cmpf, sz)
static void * dttree(Dt_t *dt, void *obj, int type)
static Dtmethod_t Dtoset_
static Dtmethod_t Dtobag_
Dtmethod_t * Dtoset
ordered set (self-adjusting tree)
static Dtmethod_t Dttree_
Dtmethod_t * Dtobag
ordered multiset
static int cmp(const void *key, const void *candidate)
Dtdata_t data
sharable data