]> andersk Git - splint.git/blob - src/Headers/lsymbolList.h
8534fdb91b1cdc23552812f7b0ac7da4e38c9409
[splint.git] / src / Headers / lsymbolList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 **
5 */
6
7 # ifndef LSYMBOLLIST_H
8 # define LSYMBOLLIST_H
9
10 abst_typedef struct
11 {
12   int nelements;
13   int nspace;
14   /*@reldef@*/ /*@relnull@*/ lsymbol  *elements;
15 } *lsymbolList ;
16
17 /*@iter lsymbolList_elements (sef lsymbolList x, yield lsymbol el); @*/
18 # define lsymbolList_elements(x, m_el) \
19    { int m_ind; lsymbol *m_elements = &((x)->elements[0]); \
20      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
21        { lsymbol m_el = *(m_elements++);
22
23 # define end_lsymbolList_elements }}
24
25 extern /*@only@*/ lsymbolList lsymbolList_new(void);
26 extern void lsymbolList_addh (lsymbolList p_s, lsymbol p_el) ;
27
28 extern void lsymbolList_free (/*@only@*/ lsymbolList p_s) ;
29
30 /*@constant int lsymbolListBASESIZE;@*/
31 # define lsymbolListBASESIZE SMALLBASESIZE
32
33 # else
34 # error "Multiple include"
35 # endif
36
37
38
39
This page took 0.048709 seconds and 3 git commands to generate.