]> andersk Git - splint.git/blob - src/Headers/constraintList.h
pre addition of functino level annotations.
[splint.git] / src / Headers / constraintList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
3 ** See ../LICENSE for license information.
4 */
5 # ifndef constraintLIST_H
6 # define constraintLIST_H
7
8 typedef /*@only@*/ constraint o_constraint;
9
10 abst_typedef struct _constraintList
11 {
12   int nelements;
13   int nspace;
14   /*@reldef@*/ /*@relnull@*/ o_constraint  *elements;
15 } *constraintList;
16
17 /*@iter constraintList_elements (sef constraintList x, yield exposed constraint el); @*/
18 # define constraintList_elements(x, m_el) \
19    { int m_ind; constraint *m_elements = &((x)->elements[0]); \
20      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
21        { constraint m_el = *(m_elements++); 
22
23 # define end_constraintList_elements }}
24
25 extern /*@only@*/ constraintList constraintList_new(void);
26 extern constraintList constraintList_add (/*@returned@*/ constraintList p_s, /*@only@*/ constraint p_el) ;
27
28 extern constraintList constraintList_addList (/*@returned@*/ constraintList s, /*@only@*/constraintList new);
29
30
31 extern constraintList constraintList_copy (constraintList p_s);
32
33 //extern /*@only@*/ cstring constraintList_unparse (constraintList p_s) ;
34 extern void constraintList_free (/*@only@*/ constraintList p_s) ;
35
36
37 extern constraintList constraintList_copy (constraintList s);
38
39 extern cstring constraintList_print (constraintList s);
40
41 extern cstring
42 constraintList_printDetailed (constraintList s);
43
44
45 extern constraintList
46 constraintList_logicalOr (constraintList l1, constraintList l2);
47
48 extern constraintList constraintList_preserveOrig (constraintList c);
49
50 /*@constant int constraintListBASESIZE;@*/
51
52
53 # define constraintListBASESIZE SMALLBASESIZE
54
55 # else
56 # error "Multiple include"
57 # endif
58
59
60
61
This page took 0.404999 seconds and 5 git commands to generate.