]> andersk Git - splint.git/blob - src/Headers/sigNodeSet.h
Renamed truenull nullwhentrue and falsenull falsewhennull
[splint.git] / src / Headers / sigNodeSet.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 **
5 */
6 /*
7 ** sigNodeSet.h
8 **
9 ** based on set_template.h
10 */
11
12 # ifndef SIGNODESET_H
13 # define SIGNODESET_H
14
15 typedef /*@owned@*/ sigNode o_sigNode;
16
17 abst_typedef /*@null@*/ struct 
18 {
19   int entries;
20   int nspace;
21   /*@reldef@*/ /*@relnull@*/ o_sigNode *elements;
22 } *sigNodeSet ;
23
24 /*@iter sigNodeSet_elements (sef sigNodeSet s, yield exposed sigNode el); @*/
25 # define sigNodeSet_elements(x, m_el) \
26    { if (sigNodeSet_isDefined (x)) { \
27        int m_ind; \
28        for (m_ind = 0 ; m_ind < (x)->entries; m_ind++) \
29           { sigNode m_el = (x)->elements[m_ind];
30
31 # define end_sigNodeSet_elements }}}
32
33 /*@constant null sigNodeSet sigNodeSet_undefined; @*/
34 # define sigNodeSet_undefined ((sigNodeSet) 0)
35
36 extern /*@falsewhennull@*/ bool sigNodeSet_isDefined (sigNodeSet p_s) /*@*/ ;
37 # define sigNodeSet_isDefined(s) \
38   ((s) != sigNodeSet_undefined)
39
40 extern /*@nullwhentrue@*/ bool sigNodeSet_isUndefined (sigNodeSet p_s) /*@*/ ;
41 # define sigNodeSet_isUndefined(s) \
42   ((s) == sigNodeSet_undefined)
43
44 extern bool sigNodeSet_isEmpty (/*@sef@*/ sigNodeSet p_s) /*@*/ ;
45 # define sigNodeSet_isEmpty(s) \
46   (sigNodeSet_isUndefined(s) || (s)->entries == 0)
47
48 extern int sigNodeSet_size (/*@sef@*/ sigNodeSet p_s) /*@*/ ;
49 # define sigNodeSet_size(s) (sigNodeSet_isDefined (s) ? (s)->entries : 0) 
50
51 extern /*@only@*/ sigNodeSet sigNodeSet_new(void) /*@*/ ;
52 extern /*@only@*/ sigNodeSet sigNodeSet_singleton (/*@owned@*/ sigNode p_el) /*@*/ ;
53 extern bool sigNodeSet_insert (sigNodeSet p_s, /*@owned@*/ sigNode p_el) /*@modifies p_s@*/ ;
54 extern /*@only@*/ cstring sigNodeSet_unparse (sigNodeSet p_s) /*@*/ ;
55 extern /*@only@*/ cstring sigNodeSet_unparsePossibleAritys (sigNodeSet p_s) /*@*/ ;
56 extern void sigNodeSet_free (/*@only@*/ sigNodeSet p_s);
57 extern /*@only@*/ cstring sigNodeSet_unparseSomeSigs (sigNodeSet p_s) /*@*/ ;
58
59 /*@constant int sigNodeSetBASESIZE;@*/
60 # define sigNodeSetBASESIZE MIDBASESIZE
61
62 # else
63 # error "Multiple include"
64 # endif
This page took 0.039222 seconds and 5 git commands to generate.