]> andersk Git - splint.git/blob - src/Headers/declaratorInvNodeList.h
Making fixes for Microsoft Visual C++ compiler.
[splint.git] / src / Headers / declaratorInvNodeList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
6 # ifndef DECLARATORINVNODELIST_H
7 # define DECLARATORINVNODELIST_H
8
9 typedef /*@only@*/ declaratorInvNode o_declaratorInvNode;
10
11 abst_typedef struct
12 {
13   int nelements;
14   int nspace;
15   /*@reldef@*/ /*@relnull@*/ o_declaratorInvNode  *elements;
16 } *declaratorInvNodeList ;
17
18 /*@iter declaratorInvNodeList_elements (sef declaratorInvNodeList x, yield exposed declaratorInvNode el); @*/
19 # define declaratorInvNodeList_elements(x, m_el) \
20    { int m_ind; declaratorInvNode *m_elements = &((x)->elements[0]); \
21        for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
22          { declaratorInvNode m_el = *(m_elements++); 
23
24 # define end_declaratorInvNodeList_elements }}
25
26 extern int declaratorInvNodeList_size (declaratorInvNodeList);
27 # define declaratorInvNodeList_size(d) ((d)->nelements)
28
29 extern /*@only@*/ declaratorInvNodeList declaratorInvNodeList_new(void);
30
31 extern declaratorInvNodeList 
32   declaratorInvNodeList_add (/*@returned@*/ declaratorInvNodeList p_s,
33                               /*@only@*/ declaratorInvNode p_el);
34
35 extern /*@only@*/ cstring declaratorInvNodeList_unparse (declaratorInvNodeList p_s) ;
36 extern void declaratorInvNodeList_free (/*@only@*/ declaratorInvNodeList p_s) ;
37
38 /*@constant int declaratorInvNodeListBASESIZE;@*/
39 # define declaratorInvNodeListBASESIZE SMALLBASESIZE
40
41 # else
42 # error "Multiple include"
43 # endif
44
45
46
47
This page took 0.044911 seconds and 5 git commands to generate.