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