2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
8 ** based on set_template.h
14 /* in forwardTypes.h: immut_typedef int typeIdSet; */
16 extern typeIdSet
typeIdSet_emptySet (void)
17 /*@modifies internalState@*/ ;
19 extern bool typeIdSet_member (typeIdSet p_t
, typeId p_el
) /*@*/ ;
20 extern bool typeIdSet_isEmpty (/*@sef@*/ typeIdSet p_t
) /*@*/ ;
22 extern typeIdSet
typeIdSet_single (typeId p_t
)
23 /*@modifies internalState@*/ ;
25 extern typeIdSet
typeIdSet_singleOpt (typeId p_t
)
26 /*@modifies internalState@*/ ;
28 extern typeIdSet
typeIdSet_insert (typeIdSet p_t
, typeId p_el
)
29 /*@modifies internalState@*/ ;
31 extern typeIdSet
typeIdSet_removeFresh (typeIdSet p_t
, typeId p_el
)
32 /*@modifies internalState@*/ ;
34 extern cstring
typeIdSet_unparse (typeIdSet p_t
) /*@*/ ;
36 extern typeIdSet
typeIdSet_subtract (typeIdSet p_s
, typeIdSet p_t
)
37 /*@modifies internalState*/ ;
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
) /*@*/ ;
45 extern void typeIdSet_initMod (void) /*@modifies internalState@*/ ;
46 extern void typeIdSet_destroyMod (void) /*@modifies internalState@*/ ;
48 extern void typeIdSet_dumpTable (FILE *p_fout
) /*@modifies *p_fout@*/ ;
50 typeIdSet_loadTable (FILE *p_fin
) /*@modifies *p_fin, internalState@*/ ;
52 /*@constant typeIdSet typeIdSet_undefined;@*/
53 # define typeIdSet_undefined 0
55 /*@constant typeIdSet typeIdSet_empty;@*/
56 # define typeIdSet_empty 0
59 # error "Multiple include"