]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
c0de361f | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. |
885824d3 | 3 | ** See ../LICENSE for license information. |
4 | */ | |
5 | /* | |
6 | ** typeIdSet.h | |
7 | ** | |
8 | ** based on set_template.h | |
9 | */ | |
10 | ||
11 | # ifndef typeIdSET_H | |
12 | # define typeIdSET_H | |
13 | ||
14 | /* in forwardTypes.h: immut_typedef int typeIdSet; */ | |
15 | ||
16 | extern typeIdSet typeIdSet_emptySet (void) | |
17 | /*@modifies internalState@*/ ; | |
18 | ||
19 | extern bool typeIdSet_member (typeIdSet p_t, typeId p_el) /*@*/ ; | |
20 | extern bool typeIdSet_isEmpty (/*@sef@*/ typeIdSet p_t) /*@*/ ; | |
21 | ||
22 | extern typeIdSet typeIdSet_single (typeId p_t) | |
23 | /*@modifies internalState@*/ ; | |
24 | ||
25 | extern typeIdSet typeIdSet_singleOpt (typeId p_t) | |
26 | /*@modifies internalState@*/ ; | |
27 | ||
28 | extern typeIdSet typeIdSet_insert (typeIdSet p_t, typeId p_el) | |
29 | /*@modifies internalState@*/ ; | |
30 | ||
31 | extern typeIdSet typeIdSet_removeFresh (typeIdSet p_t, typeId p_el) | |
32 | /*@modifies internalState@*/ ; | |
33 | ||
34 | extern cstring typeIdSet_unparse (typeIdSet p_t) /*@*/ ; | |
35 | ||
36 | extern typeIdSet typeIdSet_subtract (typeIdSet p_s, typeIdSet p_t) | |
37 | /*@modifies internalState*/ ; | |
38 | ||
39 | extern int typeIdSet_compare (typeIdSet p_t1, typeIdSet p_t2); | |
40 | extern cstring typeIdSet_dump (typeIdSet p_t); | |
41 | extern typeIdSet typeIdSet_undump (char **p_s) | |
42 | /*@modifies internalState, *p_s@*/ ; | |
43 | extern typeIdSet typeIdSet_union (typeIdSet p_t1, typeIdSet p_t2) /*@*/ ; | |
44 | ||
45 | extern void typeIdSet_initMod (void) /*@modifies internalState@*/ ; | |
46 | extern void typeIdSet_destroyMod (void) /*@modifies internalState@*/ ; | |
47 | ||
48 | extern void typeIdSet_dumpTable (FILE *p_fout) /*@modifies *p_fout@*/ ; | |
49 | extern void | |
50 | typeIdSet_loadTable (FILE *p_fin) /*@modifies *p_fin, internalState@*/ ; | |
51 | ||
52 | /*@constant typeIdSet typeIdSet_undefined;@*/ | |
53 | # define typeIdSet_undefined 0 | |
54 | ||
55 | /*@constant typeIdSet typeIdSet_empty;@*/ | |
56 | # define typeIdSet_empty 0 | |
57 | ||
58 | # else | |
59 | # error "Multiple include" | |
60 | # endif | |
61 |