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