]> andersk Git - splint.git/blob - src/Headers/varNodeList.h
Updated copyrights
[splint.git] / src / Headers / varNodeList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 */
5 # ifndef VARNODELIST_H
6 # define VARNODELIST_H
7
8 typedef /*@only@*/ varNode o_varNode;
9
10 abst_typedef struct
11 {
12   int nelements;
13   int nspace;
14   /*@reldef@*/ /*@relnull@*/ o_varNode  *elements;
15 } *varNodeList;
16
17 /*@iter varNodeList_elements (sef varNodeList x, yield exposed varNode el); @*/
18 # define varNodeList_elements(x, m_el) \
19    { int m_ind; varNode *m_elements = &((x)->elements[0]); \
20      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
21        { varNode m_el = *(m_elements++); 
22
23 # define end_varNodeList_elements }}
24
25 extern /*@only@*/ varNodeList varNodeList_new(void);
26 extern varNodeList varNodeList_add (/*@returned@*/ varNodeList p_s, /*@only@*/ varNode p_el) ;
27
28 extern varNodeList varNodeList_copy (varNodeList p_s);
29
30 extern /*@only@*/ cstring varNodeList_unparse (varNodeList p_s) ;
31 extern void varNodeList_free (/*@only@*/ varNodeList p_s) ;
32
33 /*@constant int varNodeListBASESIZE;@*/
34 # define varNodeListBASESIZE SMALLBASESIZE
35
36 # else
37 # error "Multiple include"
38 # endif
39
40
41
42
This page took 0.173962 seconds and 5 git commands to generate.