Lines Matching refs:type
31 static Void_t* dtvsearch(Dt_t* dt, reg Void_t* obj, reg int type)
33 static Void_t* dtvsearch(dt,obj,type)
36 reg int type;
45 if(type&(DT_INSERT|DT_DELETE|DT_CLEAR|DT_RENEW))
46 return (*(dt->meth->searchf))(dt,obj,type);
48 if((type&(DT_MATCH|DT_SEARCH)) || /* order sets first/last done below */
49 ((type&(DT_FIRST|DT_LAST)) && !(dt->meth->type&(DT_OBAG|DT_OSET)) ) )
51 if((o = (*(d->meth->searchf))(d,obj,type)) )
57 if(dt->meth->type & (DT_OBAG|DT_OSET) )
58 { if(!(type & (DT_FIRST|DT_LAST|DT_NEXT|DT_PREV)) )
63 { if(!(o = (*d->meth->searchf)(d, obj, type)) )
70 if(((type & (DT_NEXT|DT_FIRST)) && cmp < 0) ||
71 ((type & (DT_PREV|DT_LAST)) && cmp > 0) )
86 if(!(type & (DT_NEXT|DT_PREV)) )
98 for(d = dt->walk, obj = (*d->meth->searchf)(d, obj, type);; )
106 obj = (*d->meth->searchf)(d, obj, type);
111 else if(type&DT_NEXT)