File: dbf\b_tree_avl.ads

    1 --::::::::::
    2 --btreeavl.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 
   13    type item_type is private;
   14    type data_type is private;
   15 
   16    with function "<" (left, right: item_type) return boolean is <>;
   17 
   18 package b_tree_avl is
   19 
   20    type tree_type is limited private;
   21 
   22    procedure delete (tree : in out tree_type);
   23 
   24    procedure insert (tree : in out tree_type;
   25                      item :        item_type;
   26                      data :        data_type);
   27 
   28    procedure modify (tree : in out tree_type;
   29                      item :        item_type;
   30                      data :        data_type;
   31                        ok :    out boolean);
   32 
   33    procedure delete (tree : in out tree_type;
   34                      item :        item_type;
   35                      data :    out data_type;
   36                        ok :    out boolean);
   37 
   38    procedure get_first (tree: in     tree_type;
   39                         item:    out item_type;
   40                         data:    out data_type;
   41                           ok:    out boolean);
   42 
   43    procedure get_last  (tree: in     tree_type;
   44                         item:    out item_type;
   45                         data:    out data_type;
   46                           ok:    out boolean);
   47 
   48    procedure get_ge (tree:        tree_type;
   49                      item: in out item_type;
   50                      data:    out data_type;
   51                      ok  :    out boolean);
   52 
   53    procedure get_gt (tree:        tree_type;
   54                      item: in out item_type;
   55                      data:    out data_type;
   56                      ok  :    out boolean);
   57 
   58    procedure get_le (tree:        tree_type;
   59                      item: in out item_type;
   60                      data:    out data_type;
   61                      ok  :    out boolean);
   62 
   63    procedure get_lt (tree:        tree_type;
   64                      item: in out item_type;
   65                      data:    out data_type;
   66                      ok  :    out boolean);
   67 private
   68 
   69        type tree_data;
   70        type tree_type is access tree_data;
   71 end;
   72