File: dbf\b_tree_file.ads
1 --::::::::::
2 --btrefile.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 degree: in positive := 16;
19
20 package b_tree_file is
21
22 type tree_type is limited private;
23 type tree_mode is (in_tree, inout_tree, out_tree);
24
25 procedure open (file : in out tree_type;
26 mode : in tree_mode;
27 name : in string := "";
28 form : in string := "");
29
30 procedure create (file : in out tree_type;
31 mode : in tree_mode := inout_tree;
32 name : in string := "";
33 form : in string := "");
34
35 procedure delete (file : in out tree_type);
36 procedure close (file : in out tree_type);
37 procedure reset (file : in out tree_type);
38 procedure reset (file : in out tree_type;
39 mode : in tree_mode);
40
41 function is_open (file : in tree_type) return boolean;
42 function mode (file : in tree_type) return tree_mode;
43 function name (file : in tree_type) return string;
44 function form (file : in tree_type) return string;
45
46 procedure insert (file : in out tree_type;
47 item : in item_type;
48 data : in data_type);
49
50 procedure modify (file : in out tree_type;
51 item : in item_type;
52 data : in data_type;
53 ok : out boolean);
54
55 procedure delete (file : in out tree_type;
56 item : in item_type;
57 data : out data_type;
58 ok : out boolean);
59
60 procedure get_ge (file : in tree_type;
61 item : in out item_type;
62 data : out data_type;
63 ok : out boolean);
64
65 procedure get_gt (file : in tree_type;
66 item : in out item_type;
67 data : out data_type;
68 ok : out boolean);
69
70 procedure get_le (file : in tree_type;
71 item : in out item_type;
72 data : out data_type;
73 ok : out boolean);
74
75 procedure get_lt (file : in tree_type;
76 item : in out item_type;
77 data : out data_type;
78 ok : out boolean);
79
80 procedure get_first (file : in tree_type;
81 item : out item_type;
82 data : out data_type;
83 ok : out boolean);
84
85 procedure get_last (file : in tree_type;
86 item : out item_type;
87 data : out data_type;
88 ok : out boolean);
89
90 private
91
92 type tree_object;
93 type tree_type is access tree_object;
94 end b_tree_file;
95