]> andersk Git - splint.git/blob - src/Headers/valueMatrix.h
aff4e6149358a38d31aeac76103e2f604822babf
[splint.git] / src / Headers / valueMatrix.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 */
5 /*
6 ** valueMatrix.h
7 */
8
9 /*
10 **          key -> (int x int -> int x cstring)
11 ** e.g., "null" -> null x notnull -> error x "attempt to ..."
12 */
13
14 # ifndef VALUEMATRIX_H
15 # define VALUEMATRIX_H
16
17 /* in forward types:
18 abst_typedef genericTable valueMatrix;
19 */
20
21 /*@constant null valueMatrix valueMatrix_undefined; @*/
22 # define valueMatrix_undefined genericTable_undefined
23
24 extern /*@falsewhennull@*/ bool valueMatrix_isDefined(valueMatrix) /*@*/ ;
25 # define valueMatrix_isDefined(p_h) (genericTable_isDefined ((genericTable) (p_h)))
26
27 extern /*@nullwhentrue@*/ bool valueMatrix_isUndefined(valueMatrix) /*@*/ ;
28 # define valueMatrix_isUndefined(p_h) (genericTable_isDefined ((genericTable) (p_h)))
29
30 extern /*@only@*/ valueMatrix valueMatrix_create(int p_size);
31 # define valueMatrix_create(p_s) ((valueMatrix) genericTable_create (p_s))
32
33 extern void valueMatrix_insert (valueMatrix p_h, /*@dependent@*/ cstring p_key, 
34                                 /*@only@*/ stateCombinationTable p_value);
35
36 # define valueMatrix_insert(p_h,p_key,p_value) \
37   (genericTable_insert ((valueMatrxi) (p_h), p_key, (void *) (p_value)))
38
39 extern /*@null@*/ /*@dependent@*/ /*@exposed@*/ stateCombinationTable valueMatrix_lookup (valueMatrix p_h, cstring p_key) /*@*/ ;
40 # define valueMatrix_lookup(p_h,p_key) \
41   ((stateCombinationTable) genericTable_lookup ((genericTable) (p_h), p_key))
42
43 extern /*@unused@*/ /*@only@*/ cstring valueMatrix_stats(valueMatrix p_h);
44 # define valueMatrix_stats(p_h) genericTable_stats ((genericTable) (p_h))
45
46 extern void valueMatrix_free (/*@only@*/ valueMatrix p_h);
47 # define valueMatrix_free(p_h) (genericTable_free ((genericTable) (p_h)))
48
49 extern void valueMatrix_remove (valueMatrix p_h, cstring p_key) /*@modifies p_h@*/ ;
50 # define valueMatrix_remove(p_h,p_key) (genericTable_remove ((genericTable) (p_h), p_key))
51
52 /*@iter valueMatrix_elements (sef valueMatrix p_g, yield exposed cstring m_key, yield exposed stateCombinationTable m_el)@*/
53
54 # define valueMatrix_elements(p_g,m_key,m_el) genericTable_elements((genericTable) (p_g), m_key, m_el) 
55 # define end_valueMatrix_elements end_genericTable_elements
56
57 extern int valueMatrix_size (valueMatrix p_h);
58 # define valueMatrix_size(p_h) (genericTable_size(p_h))
59
60 # else
61 # error "Multiple include"
62 # endif 
63
64
65
66
This page took 0.45695 seconds and 3 git commands to generate.