2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
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 typedef /*@only@*/ stateEntry o_stateEntry;
28 /*@only@*/ o_stateEntry *entries;
31 typedef /*@only@*/ stateRow o_stateRow;
36 /*@only@*/ o_stateRow *rows;
37 } *stateCombinationTable;
39 extern /*@only@*/ stateCombinationTable stateCombinationTable_create (int p_size);
41 extern void stateCombinationTable_set (stateCombinationTable p_h,
44 /*@only@*/ cstring p_msg);
46 extern void stateCombinationTable_update (stateCombinationTable p_h,
49 /*@only@*/ cstring p_msg);
51 extern int stateCombinationTable_lookup
52 (stateCombinationTable p_h, int p_from,
53 int p_to, /*@out@*/ ob_cstring *p_msg);
55 extern int stateCombinationTable_lookupLoseReference
56 (stateCombinationTable p_h, int p_from,
57 /*@out@*/ /*@observer@*/ cstring *p_msg);
59 extern void stateCombinationTable_free (/*@only@*/ stateCombinationTable p_t);
61 extern int stateCombinationTable_size (stateCombinationTable p_h) /*@*/ ;
62 # define stateCombinationTable_size(h) ((h)->size)
64 extern cstring stateCombinationTable_unparse (stateCombinationTable) /*@*/ ;
67 # error "Multiple include"