]> andersk Git - splint.git/blame - src/Headers/intSet.h
Updated copyrights
[splint.git] / src / Headers / intSet.h
CommitLineData
885824d3 1/*
c0de361f 2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
885824d3 3** See ../LICENSE for license information.
4**
5*/
6/*
7** intSet.h
8**
9** based on set_template.h
10*/
11
12# ifndef intSET_H
13# define intSET_H
14
28bf4b0b 15abst_typedef struct
885824d3 16{
17 int entries;
18 int nspace;
19 /*@reldef@*/ /*@relnull@*/ int *elements;
20} *intSet;
21
22/*@iter intSet_elements (sef intSet s, yield int el)@*/
23# define intSet_elements(x, m_el) \
24 { int m_ind; for (m_ind = 0 ; m_ind < (x)->entries; m_ind++) \
25 { int m_el = (x)->elements[m_ind];
26
27# define end_intSet_elements }}
28
29extern /*@only@*/ intSet intSet_new (void);
30
31extern bool intSet_isEmpty (intSet p_s);
32# define intSet_isEmpty(s) ((s)->entries == 0)
33
34extern int intSet_size (intSet p_s);
35# define intSet_size(s) ((s)->entries)
36
37extern bool intSet_insert (intSet p_s, int p_el);
38extern /*@unused@*/ bool intSet_member (intSet p_s, int p_el);
39extern /*@only@*/ /*@unused@*/ cstring intSet_unparse (intSet p_s);
40extern void intSet_free (/*@only@*/ intSet p_s);
41
885824d3 42extern /*@only@*/ cstring intSet_unparseText (intSet p_s);
885824d3 43
44/*@constant int intSetBASESIZE;@*/
45# define intSetBASESIZE SMALLBASESIZE
46
47# else
48# error "Multiple include"
49# endif
50
51
52
This page took 0.067389 seconds and 5 git commands to generate.