15 Dtlink_t *t, *r, *p, **
s, **hs, **is, **olds;
28 if (!(
s = realloc(olds, n *
sizeof(
Dtlink_t*))))
35 for(hs =
s+n-1; hs >= olds; --hs)
37 for(hs =
s; hs < olds; ++hs)
38 {
for(p =
NULL, t = *hs; t; t = r)
40 if((is =
s +
HINDEX(n,t->hash)) == hs)
46 t->
right = *is; *is = t;
98 while(
s < ends && !t )
129 { key =
_DTKEY(obj,ky,sz);
203 {
if(t && !(p = t->
right) )
213 {
while(p->right != t)
218 for (
s -= 1, ends = dt->
data.htab;
s >= ends; --
s)
258 else if((p = *
s) == t)
261 {
while(p->right != t)
#define _DTKEY(o, ky, sz)
#define _DTDSC(dc, ky, sz, lk, cmpf)
int(* Dtcompar_f)(void *, void *)
CDT_API unsigned int dtstrhash(void *, int)
#define _DTCMP(k1, k2, cmpf, sz)
Dtmethod_t * Dtset
set with unique elements
static void * dthash(Dt_t *dt, void *obj, int type)
static void dthtab(Dt_t *dt)
Dtdata_t data
sharable data