]> andersk Git - splint.git/blob - src/Headers/typeIdSet.h
0f0cdeecc1ab5e0f936bea48f8313ea75c4ae9bf
[splint.git] / src / Headers / typeIdSet.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
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
This page took 0.027063 seconds and 3 git commands to generate.