]> andersk Git - splint.git/blame - src/Headers/qualList.h
Committed my changes (but there are several splintme errors currently).
[splint.git] / src / Headers / qualList.h
CommitLineData
885824d3 1/*
2** qualList.h (from slist_templace.h)
3*/
4
5# ifndef QUALLIST_H
6# define QUALLIST_H
7
28bf4b0b 8abst_typedef /*@null@*/ struct
885824d3 9{
10 int nelements;
11 int free;
12 /*@reldef@*/ /*@relnull@*/ qual *elements;
13} *qualList ;
14
0e41eb0e 15extern /*@falsewhennull@*/ bool qualList_isDefined (qualList p_s);
16extern /*@unused@*/ /*@nullwhentrue@*/ bool qualList_isUndefined (qualList p_s);
885824d3 17
18/*@constant null qualList qualList_undefined; @*/
19# define qualList_undefined ((qualList) NULL)
20
21# define qualList_isDefined(q) ((q) != qualList_undefined)
22# define qualList_isUndefined(q) ((q) == qualList_undefined)
23
24/*@iter qualList_elements (sef qualList x, yield qual el); @*/
25# define qualList_elements(x, m_el) \
26 { if (qualList_isDefined(x)) { \
27 int m_ind; qual *m_elements = &((x)->elements[0]); \
28 for (m_ind = 0; m_ind < (x)->nelements; m_ind++) \
29 { qual m_el = *(m_elements++);
30
31# define end_qualList_elements }}}
32
33extern int qualList_size (/*@sef@*/ qualList p_s);
34# define qualList_size(s) (qualList_isDefined(s) ? (s)->nelements : 0)
35
36extern bool qualList_isEmpty (/*@sef@*/ qualList p_s);
37# define qualList_isEmpty(s) (qualList_size(s) == 0)
38
39extern qualList qualList_new (void) /*@*/ ;
f9264521 40
41extern qualList qualList_single (qual p_el) /*@*/ ;
42
885824d3 43extern qualList qualList_add (/*@returned@*/ qualList p_s, qual p_el)
44 /*@modifies p_s@*/;
45
46extern /*@only@*/ cstring qualList_unparse (qualList p_s) /*@*/ ;
47extern void qualList_free (/*@only@*/ qualList p_s) ;
48extern qualList qualList_appendList (/*@returned@*/ qualList p_s, qualList p_t);
49
885824d3 50extern qualList qualList_copy (qualList p_s);
51extern /*@only@*/ cstring qualList_toCComments (qualList p_s);
885824d3 52
53extern void qualList_clear (qualList p_q);
54
55/*@constant int qualListBASESIZE;@*/
56# define qualListBASESIZE 8
57
58extern bool qualList_hasAliasQualifier (qualList p_s);
59extern bool qualList_hasExposureQualifier (qualList p_s);
60
1ac6313d 61/* start modifications */
62extern bool qualList_hasNullTerminatedQualifier(qualList p_s);
28bf4b0b 63
64extern bool qualList_hasBufQualifiers(qualList p_s);
1ac6313d 65
66# define qualList_hasBufQualifiers(p_s) \
67 (qualList_hasNullTerminatedQualifier(p_s))
68
69/* end modification/s */
70
885824d3 71# else
72# error "Multiple include"
73# endif
74
75
76
77
This page took 0.224762 seconds and 5 git commands to generate.