2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
5 # ifndef STOREREFNODELIST_H
6 # define STOREREFNODELIST_H
8 typedef /*@only@*/ storeRefNode o_storeRefNode
;
14 /*@reldef@*/ /*@relnull@*/ o_storeRefNode
*elements
;
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++);
23 # define end_storeRefNodeList_elements }}
25 extern /*@only@*/ storeRefNodeList
storeRefNodeList_new(void);
26 extern storeRefNodeList
27 storeRefNodeList_add (/*@returned@*/ storeRefNodeList p_s
, /*@only@*/ storeRefNode p_el
);
29 extern /*@only@*/ cstring
storeRefNodeList_unparse (storeRefNodeList p_s
) ;
30 extern void storeRefNodeList_free (/*@only@*/ storeRefNodeList p_s
) ;
32 extern /*@only@*/ storeRefNodeList
storeRefNodeList_copy (storeRefNodeList p_s
) ;
33 /*@constant int storeRefNodeListBASESIZE;@*/
34 # define storeRefNodeListBASESIZE SMALLBASESIZE
37 # error "Multiple include"