]> andersk Git - splint.git/blob - src/Headers/mapping.h
531501915b64b28b5aab2548297bf4eeb8882b30
[splint.git] / src / Headers / mapping.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 **
5 */
6 /*
7 ** mapping.h
8 */
9
10 # ifndef MAPPING_H
11 # define MAPPING_H
12
13 typedef struct s_mappair {
14   lsymbol domain, range;
15   /*@null@*/ struct s_mappair *next;
16 } mappair;
17
18 typedef /*@relnull@*/ /*@only@*/ mappair *o_mappair;
19
20 typedef /*@abstract@*/ struct {
21   unsigned int count;
22   /*@relnull@*/ /*@only@*/ o_mappair *buckets;  
23 } *mapping;
24
25
26 extern /*@only@*/ mapping mapping_create (void);
27 extern lsymbol mapping_find (mapping p_t, lsymbol p_domain);
28 extern void mapping_bind (mapping p_t, lsymbol p_domain, lsymbol p_range);
29 extern void mapping_free (/*@only@*/ mapping p_m);
30
31 # else
32 # error "Multiple include"
33 # endif
This page took 0.02488 seconds and 3 git commands to generate.