2 * Copyright (C) 1994-1999, Index Data
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.3 1999-02-02 14:50:30 adam
8 * Updated WIN32 code specific sections. Changed header.
10 * Revision 1.2 1997/09/05 15:29:59 adam
11 * Changed prototype for chr_map_input - added const.
12 * Added support for C++, headers uses extern "C" for public definitions.
14 * Revision 1.1 1994/09/26 10:17:42 adam
15 * Dfa-module header files.
25 typedef unsigned short BSetWord;
26 typedef BSetWord *BSet;
28 typedef struct BSetHandle_ {
29 unsigned size; /* size of set in members */
30 unsigned wsize; /* size of individual set (in BSetWord)*/
31 unsigned offset; /* offset in current set block */
32 unsigned chunk; /* chunk, i.e. size of each block */
33 struct BSetHandle_ *setchain;
37 BSetHandle *mk_BSetHandle (int size, int chunk);
38 void rm_BSetHandle (BSetHandle **shp);
39 int inf_BSetHandle (BSetHandle *sh, long *used, long *alloc);
40 BSet cp_BSet (BSetHandle *sh, BSet dst, BSet src);
41 void add_BSet (BSetHandle *sh, BSet dst, unsigned member);
42 void union_BSet (BSetHandle *sh, BSet dst, BSet src);
43 BSet mk_BSet (BSetHandle **shp);
44 void rm_BSet (BSetHandle **shp);
45 void res_BSet (BSetHandle *sh, BSet dst);
46 void com_BSet (BSetHandle *sh, BSet dst);
47 void pr_BSet (BSetHandle *sh, BSet src);
48 unsigned test_BSet (BSetHandle *sh, BSet src, unsigned member);
49 int trav_BSet (BSetHandle *sh, BSet src, unsigned member);
50 int travi_BSet (BSetHandle *sh, BSet src, unsigned member);
51 unsigned hash_BSet (BSetHandle *sh, BSet src);
52 int eq_BSet (BSetHandle *sh, BSet dst, BSet src);
53 void pr_charBSet (BSetHandle *sh, BSet src, void (*f)(int));