Blame src/api/search.c

nsz 056b01
#include <search.h>
nsz 056b01
#define T(t) (t*)0;
nsz 056b01
#define F(t,n) {t *y = &x.;;}
nsz 056b01
#define C(n) switch(n){case n:;}
nsz 056b01
static void f()
nsz 056b01
{
nsz 056b01
T(size_t)
nsz 056b01
T(ACTION)
nsz 056b01
T(VISIT)
nsz 056b01
{
nsz 056b01
ENTRY x;
nsz 056b01
F(char*,key)
nsz 056b01
F(void*,data)
nsz 056b01
}
nsz 056b01
switch((ACTION)0){
nsz 056b01
case FIND:
nsz 056b01
case ENTER:;
nsz 056b01
}
nsz 056b01
switch((VISIT)0){
nsz 056b01
case preorder:
nsz 056b01
case postorder:
nsz 056b01
case endorder:
nsz 056b01
case leaf:;
nsz 056b01
}
nsz 056b01
int(*p_hcreate)(size_t) = hcreate;
nsz 056b01
void(*p_hdestroy)(void) = hdestroy;
nsz 056b01
ENTRY*(*p_hsearch)(ENTRY,ACTION) = hsearch;
nsz 056b01
void(*p_insque)(void*,void*) = insque;
nsz 056b01
void*(*p_lfind)(const void*,const void*,size_t*,size_t,int(*)(const void*,const void*)) = lfind;
nsz 056b01
void*(*p_lsearch)(const void*,void*,size_t*,size_t,int(*)(const void*,const void*)) = lsearch;
nsz 056b01
void(*p_remque)(void*) = remque;
nsz 056b01
void*(*p_tdelete)(const void*restrict,void**restrict,int(*)(const void*,const void*)) = tdelete;
nsz 056b01
void*(*p_tfind)(const void*,void*const*,int(*)(const void*,const void*)) = tfind;
nsz 056b01
void*(*p_tsearch)(const void*,void**,int(*)(const void*,const void*)) = tsearch;
nsz 056b01
void(*p_twalk)(const void*,void(*)(const void*,VISIT,int)) = twalk;
nsz 056b01
}