2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
7 ** stateCombinationTable.h
10 # ifndef STATECOMBINATIONTABLE_H
11 # define STATECOMBINATIONTABLE_H
14 ** stateCombinationTable is a mapping: int x int -> int x cstring
15 ** The int values must be in a fixed (pre-defined) range, 0, ..., max.
23 /*@i23 typedef @only@ stateEntry o_stateEntry; */
28 /*@only@*/ stateEntry *entries;
32 this breaks comething? typedef /*@only@*/ stateRow o_stateRow; /*@i324*/
38 /*@only@*/ stateRow *rows;
39 } *stateCombinationTable;
41 extern /*@only@*/ stateCombinationTable stateCombinationTable_create (int p_size);
43 extern void stateCombinationTable_set (stateCombinationTable p_h,
46 /*@only@*/ cstring p_msg);
48 extern void stateCombinationTable_update (stateCombinationTable p_h,
51 /*@only@*/ cstring p_msg);
53 extern int stateCombinationTable_lookup
54 (stateCombinationTable p_h, int p_from,
55 int p_to, /*@out@*/ /*@observer@*/ cstring *p_msg);
57 extern int stateCombinationTable_lookupLoseReference
58 (stateCombinationTable p_h, int p_from,
59 /*@out@*/ /*@observer@*/ cstring *p_msg);
61 extern void stateCombinationTable_free (/*@only@*/ stateCombinationTable p_t);
63 extern int stateCombinationTable_size (stateCombinationTable p_h) /*@*/ ;
64 # define stateCombinationTable_size(h) ((h)->size)
66 extern cstring stateCombinationTable_unparse (stateCombinationTable) /*@*/ ;
69 # error "Multiple include"