2 ** filelocList.h (from slist_templace.h)
8 abst_typedef /*@null@*/ struct
12 /*@reldef@*/ /*@relnull@*/ o_fileloc *elements;
15 extern /*@unused@*/ /*@truenull@*/ bool
16 filelocList_isUndefined (filelocList p_f) /*@*/ ;
17 extern /*@falsenull@*/ bool filelocList_isDefined (filelocList p_f);
19 /*@constant null filelocList filelocList_undefined; @*/
20 # define filelocList_undefined (NULL)
21 # define filelocList_isDefined(f) ((f) != filelocList_undefined)
22 # define filelocList_isUndefined(f) ((f) == filelocList_undefined)
24 /*@iter filelocList_elements (sef filelocList x, yield exposed fileloc el); @*/
25 # define filelocList_elements(x, m_el) \
26 { if (filelocList_isDefined (x)) { \
27 int m_ind; fileloc *m_elements = &((x)->elements[0]); \
28 for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
29 { fileloc m_el = *(m_elements++);
31 # define end_filelocList_elements }}}
33 extern int filelocList_realSize (filelocList p_s) /*@*/ ;
35 extern int filelocList_size (/*@sef@*/ filelocList p_s) /*@*/ ;
36 # define filelocList_size(s) (filelocList_isDefined (s) ? (s)->nelements : 0)
38 extern bool filelocList_isEmpty (/*@sef@*/ filelocList p_s);
39 # define filelocList_isEmpty(s) (filelocList_size(s) == 0)
42 filelocList_append (/*@returned@*/ filelocList p_s, /*@only@*/ filelocList p_t);
44 extern /*@only@*/ filelocList filelocList_new (void) /*@*/ ;
46 filelocList_add (/*@returned@*/ filelocList p_s, /*@only@*/ fileloc p_el)
50 filelocList_addDifferentFile (/*@returned@*/ filelocList p_s,
51 fileloc p_where, fileloc p_loc)
54 extern filelocList filelocList_addUndefined (/*@returned@*/ filelocList p_s)
57 extern /*@only@*/ cstring filelocList_unparseUses (filelocList p_s);
58 extern /*@unused@*/ /*@only@*/ cstring filelocList_unparse (filelocList p_s) ;
59 extern void filelocList_free (/*@only@*/ filelocList p_s) ;
61 /*@constant int filelocListBASESIZE;@*/
62 # define filelocListBASESIZE MIDBASESIZE