2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
9 typedef /*@dependent@*/ sRefSet d_sRefSet;
11 abst_typedef /*@null@*/ struct
15 /*@reldef@*/ /*@relnull@*/ d_sRefSet *elements;
18 /*@iter sRefSetList_elements (sef sRefSetList x, yield exposed sRefSet el); @*/
19 # define sRefSetList_elements(x, m_el) \
20 { if (sRefSetList_isDefined (x)) { \
21 int m_ind; sRefSet *m_elements = &((x)->elements[0]); \
22 for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
23 { sRefSet m_el = *(m_elements++);
25 # define end_sRefSetList_elements }}}
27 /*@constant null sRefSetList sRefSetList_undefined; @*/
28 # define sRefSetList_undefined ((sRefSetList) NULL)
30 extern /*@falsenull@*/ bool sRefSetList_isDefined (sRefSetList p_s);
31 # define sRefSetList_isDefined(s) ((s) != sRefSetList_undefined)
33 extern /*@unused@*/ /*@truenull@*/ bool sRefSetList_isUndefined (sRefSetList p_s);
34 # define sRefSetList_isUndefined(s) ((s) == sRefSetList_undefined)
37 sRefSetList_add (/*@returned@*/ sRefSetList p_s, /*@exposed@*/ sRefSet p_el)
40 extern void sRefSetList_free (/*@only@*/ sRefSetList p_s);
41 extern void sRefSetList_clear (sRefSetList p_s);
43 /*@constant int sRefSetListBASESIZE;@*/
44 # define sRefSetListBASESIZE MIDBASESIZE
47 # error "Multiple include"