]>
Commit | Line | Data |
---|---|---|
4cccc6ad | 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 | ||
361091cc | 28 | extern constraintList constraintList_addList (/*@returned@*/ constraintList s, /*@only@*/constraintList new); |
29 | ||
30 | ||
4cccc6ad | 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 | ||
361091cc | 36 | |
37 | extern constraintList constraintList_copy (constraintList s); | |
38 | ||
39 | extern cstring constraintList_print (constraintList s); | |
4cccc6ad | 40 | /*@constant int constraintListBASESIZE;@*/ |
41 | # define constraintListBASESIZE SMALLBASESIZE | |
42 | ||
43 | # else | |
44 | # error "Multiple include" | |
45 | # endif | |
46 | ||
47 | ||
48 | ||
49 |