Lines Matching defs:dt
35 static Void_t* dtvsearch(Dt_t* dt, reg Void_t* obj, reg int type)
37 static Void_t* dtvsearch(dt,obj,type)
38 Dt_t* dt;
48 return (*(dt->meth->searchf))(dt,obj,type);
54 ((type & (DT_FIRST|DT_LAST|DT_ATLEAST|DT_ATMOST)) && !(dt->meth->type&DT_ORDERED) ) )
55 { for(d = dt; d; d = d->view)
58 dt->walk = d;
62 if(dt->meth->type & DT_ORDERED) /* ordered sets/bags */
68 for(d = dt; d; d = d->view)
87 dt->walk = p;
95 if(!dt->walk )
96 { for(d = dt; d; d = d->view)
99 dt->walk = d;
104 for(d = dt->walk, obj = (*d->meth->searchf)(d, obj, type);; )
106 { for(p = dt; ; p = p->view)
115 if(!(d = dt->walk = d->view) ) /* move on to next dictionary */
124 Dt_t* dtview(reg Dt_t* dt, reg Dt_t* view)
126 Dt_t* dtview(dt,view)
127 reg Dt_t* dt;
133 if(view && view->meth != dt->meth) /* must use the same method */
138 if(d == dt)
142 if((d = dt->view) )
144 dt->view = dt->walk = NIL(Dt_t*);
147 { dt->searchf = dt->meth->searchf;
152 dt->view = view;
153 dt->searchf = dtvsearch;