2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
13 /*@access ctype fileId ctypeList@*/
16 abst_typedef /*@null@*/ ctypeList fileIdList;
18 extern /*@falsenull@*/ bool fileIdList_isDefined (fileIdList p_f);
19 # define fileIdList_isDefined(f) (ctypeList_isDefined (f))
21 /*@iter fileIdList_elements (sef fileIdList x, yield fileId el); @*/
22 # define fileIdList_elements(x, m_el) \
23 if (fileIdList_isDefined (x)) \
24 { int m_ind; fileId *m_elements = &((x)->elements[0]); \
25 for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
26 { fileId m_el = *(m_elements++);
28 # define end_fileIdList_elements }}
30 extern fileIdList fileIdList_create (void);
31 # define fileIdList_create() ctypeList_new()
33 extern bool fileIdList_isEmpty (/*@sef@*/ fileIdList p_f) /*@*/ ;
35 extern fileIdList fileIdList_append (/*@only@*/ fileIdList p_f1, /*@temp@*/ fileIdList p_f2)
37 # define fileIdList_append(f1,f2) ctypeList_append((ctypeList)(f1), (ctypeList)(f2))
39 extern void fileIdList_add (fileIdList p_f, fileId p_fid) /*@modifies p_f@*/;
40 # define fileIdList_add(f, el) ctypeList_addh((ctypeList)(f), (ctype)(el))
42 extern int fileIdList_size (/*@sef@*/ fileIdList p_f);
43 # define fileIdList_size(ft) ctypeList_size((ctypeList)(ft))
45 extern void fileIdList_free (/*@only@*/ fileIdList p_f) /*@modifies p_f@*/;
46 # define fileIdList_free(ft) ctypeList_free((ctypeList)(ft))
48 # define fileIdList_isEmpty(f) (fileIdList_size (f) == 0)
49 /*@noaccess ctype fileId ctypeList@*/
52 # error "Multiple include"