Newer
Older
#ifndef HAMMER_TSEARCH__H
#define HAMMER_TSEARCH__H
#if defined(_MSC_VER)
typedef enum { preorder, postorder, endorder, leaf } VISIT;
/* find or insert datum into search tree */
void *tsearch(const void *vkey, void **vrootp,
int (*compar)(const void *, const void *));
/* delete node with given key */
void * tdelete(const void *vkey, void **vrootp,
int (*compar)(const void *, const void *));
/* Walk the nodes of a tree */
void twalk(const void *vroot, void (*action)(const void *, VISIT, int));
/* find a node, or return 0 */
void *tfind(const void *vkey, void * const *vrootp,
int (*compar)(const void *, const void *));
#else
#include <search.h>
#endif
#endif /* HAMMER_TSEARCH__H */