]> andersk Git - splint.git/blob - src/Headers/programNodeList.h
cf7127a77f682db03340c2600b8cd2e6d99c84c5
[splint.git] / src / Headers / programNodeList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 **
5 */
6 # ifndef PROGRAMNODELIST_H
7 # define PROGRAMNODELIST_H
8
9 typedef /*@only@*/ programNode o_programNode;
10
11 struct s_programNodeList 
12 {
13   int nelements;
14   int nspace;
15   /*@reldef@*/ /*@relnull@*/ o_programNode  *elements;
16 } ;
17
18 /*@iter programNodeList_elements (sef programNodeList x, yield exposed programNode el); @*/
19 # define programNodeList_elements(x, m_el) \
20    { int m_ind; programNode *m_elements = &((x)->elements[0]); \
21      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
22        { programNode m_el = *(m_elements++);
23
24 # define end_programNodeList_elements }}
25
26 extern /*@only@*/ programNodeList programNodeList_new(void);
27
28 extern void programNodeList_addh (programNodeList p_s, /*@keep@*/ programNode p_el) ;
29
30 extern /*@only@*/ cstring programNodeList_unparse (programNodeList p_s) ;
31 extern void programNodeList_free (/*@only@*/ programNodeList p_s) ;
32
33 /*@constant int programNodeListBASESIZE;@*/
34 # define programNodeListBASESIZE SMALLBASESIZE
35
36 # else
37 # error "Multiple include"
38 # endif
39
40
41
42
This page took 0.076813 seconds and 3 git commands to generate.