/************************************************************************
 * This program is Copyright (C) 1986 by Jonathan Payne.  JOVE is       *
 * provided to you without charge, and with no warranty.  You may give  *
 * away copies of JOVE, including sources, provided that this notice is *
 * included in all the files.                                           *
 ************************************************************************/

#ifndef _TABLE_H_
#define _TABLE_H_

#ifndef TUNED
#   include "tune.h"
#endif

#ifdef Extern
RCS_H(table, "$Id: table.h,v 14.26 1992/08/26 23:56:48 tom Exp tom $")
#endif

#ifndef Extern
#   define Extern	extern
#endif

/* do a binary search on table contents */

typedef struct table {
  const	char	**t_wordlist;
	int	t_size;
	int	t_max;
	int	(*t_cmp)();
} Table;

extern Table	*make_table __(( int (*_(cmp))() ));
extern char	*table_lookup __(( Table *_(t), const char *_(w), int _(ins) ));

#define word_in_table(t, w)	table_lookup(t, w, NO)
#define add_word(t, w)		table_lookup(t, w, YES)

#endif _TABLE_H_

#undef Extern

/*======================================================================
 * $Log: table.h,v $
 * Revision 14.26  1992/08/26  23:56:48  tom
 * add RCS directives.
 *
 */
