17 Dtlink_t *t, *r, *p, **
s, **hs, **is, **olds;
30 if (!(
s = realloc(olds, n *
sizeof(
Dtlink_t*))))
37 for(hs =
s+n-1; hs >= olds; --hs)
39 for(hs =
s; hs < olds; ++hs)
40 {
for(p =
NULL, t = *hs; t; t = r)
42 if((is =
s +
HINDEX(n,t->hash)) == hs)
48 t->
right = *is; *is = t;
100 while(
s < ends && !t )
131 { key =
_DTKEY(obj,ky,sz);
205 {
if(t && !(p = t->
right) )
215 {
while(p->right != t)
220 for (
s -= 1, ends = dt->
data.htab;
s >= ends; --
s)
260 else if((p = *
s) == t)
263 {
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