1 /*
2    setutil.h - Functions for creating and working with sets.
3                Used in WordNet library to find noun relatives
4 
5    $Id: setutil.h,v 1.2 1997/09/02 16:31:18 wn Rel $
6 
7 */
8 
9 #ifndef _SETUTIL_
10 #define _SETUTIL_
11 
12 typedef struct set_tag *Set_t;
13 
14 Set_t set_create(unsigned max_elem);
15 Set_t set_resize(Set_t s, unsigned new_max_elem);
16 void  set_destroy(Set_t s);
17 
18 void set_addobj(Set_t s, unsigned objnum);    /*s += obj.*/
19 void set_removeobj(Set_t s, unsigned objnum); /*s -= obj.*/
20 
21 void set_union(Set_t u, Set_t a, Set_t b);        /* u = a + b.*/
22 void set_intersection(Set_t n, Set_t a, Set_t b); /* u = a x b.*/
23 
24 int set_nelem(Set_t s);   /*returns |s|.*/
25 int set_isempty(Set_t s); /* returns |s| == 0.*/
26 int set_haselem(Set_t s, unsigned objnum); /* returns obj E s ?*/
27 int set_maxelem(Set_t s); /*Returns max num of elems set can hold.*/
28 
29 #endif /* SET_UTIL */
30