File: dbf\boolean_set.ads
1 --::::::::::
2 --booleset.ads
3 --::::::::::
4 -- Developed by (C) Wasiliy W. Molostoff 1994, 1995.
5 -- Moscow, Russia,
6 -- Voice: 7 (095) 398-23-38
7 -- e-mail: edv@edv.msk.ru
8 -- This is free software; you can freely redistribute it and/or
9 -- modify it without any restrictions. Please report any errors.
10 -- All corrections will be made as soon as possible.
11 generic
12 type element is (<>);
13 package boolean_set is
14
15 type boolset is array (element) of boolean;
16 pragma pack (boolset);
17
18 function value (right: in element) return boolset;
19
20 function "and" (left: in boolset; right: in element) return boolset;
21 function "or" (left: in boolset; right: in element) return boolset;
22 function "xor" (left: in boolset; right: in element) return boolset;
23
24 function "and" (left: in element; right: in boolset) return boolset;
25 function "or" (left: in element; right: in boolset) return boolset;
26 function "xor" (left: in element; right: in boolset) return boolset;
27
28 function "and" (left: in element; right: in element) return boolset;
29 function "or" (left: in element; right: in element) return boolset;
30 function "xor" (left: in element; right: in element) return boolset;
31
32 function "not" (right: in element) return boolset;
33
34 generic
35 type index is (<>);
36 type object is array (index range <>) of element;
37 function array_import (right: in object) return boolset;
38
39 generic
40 type object is limited private;
41 with function value (right: in object) return boolset is <>;
42 package import_set is
43
44 function "and" (left: in boolset; right: in object) return boolset;
45 function "or" (left: in boolset; right: in object) return boolset;
46 function "xor" (left: in boolset; right: in object) return boolset;
47
48 function "and" (left: in object; right: in boolset) return boolset;
49 function "or" (left: in object; right: in boolset) return boolset;
50 function "xor" (left: in object; right: in boolset) return boolset;
51
52 function "and" (left: in object; right: in element) return boolset;
53 function "or" (left: in object; right: in element) return boolset;
54 function "xor" (left: in object; right: in element) return boolset;
55
56 function "and" (left: in element; right: in object) return boolset;
57 function "or" (left: in element; right: in object) return boolset;
58 function "xor" (left: in element; right: in object) return boolset;
59
60 function "and" (left: in object; right: in object) return boolset;
61 function "or" (left: in object; right: in object) return boolset;
62 function "xor" (left: in object; right: in object) return boolset;
63
64 function "not" (right: in object) return boolset;
65
66 end;
67 end;
68