]>
Commit | Line | Data |
---|---|---|
4c2d6a70 AC |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT LIBRARY COMPONENTS -- | |
4 | -- -- | |
5 | -- ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_OPERATIONS -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
9 | -- This specification is adapted from the Ada Reference Manual for use with -- | |
10 | -- GNAT. In accordance with the copyright of that document, you can freely -- | |
11 | -- copy and modify this specification, provided that if you redistribute a -- | |
12 | -- modified version, any changes that you have made are clearly indicated. -- | |
13 | -- -- | |
14 | ------------------------------------------------------------------------------ | |
15 | ||
16 | generic | |
17 | with package Tree_Types is new Generic_Tree_Types (<>); | |
18 | use Tree_Types; | |
19 | ||
20 | Null_Node : Node_Access; | |
21 | ||
22 | with function Parent (Node : Node_Access) return Node_Access is <>; | |
23 | with procedure Set_Parent (Node : Node_Access; Parent : Node_Access) is <>; | |
24 | with function Left (Node : Node_Access) return Node_Access is <>; | |
25 | with procedure Set_Left (Node : Node_Access; Left : Node_Access) is <>; | |
26 | with function Right (Node : Node_Access) return Node_Access is <>; | |
27 | with procedure Set_Right (Node : Node_Access; Right : Node_Access) is <>; | |
28 | with function Color (Node : Node_Access) return Color_Type is <>; | |
29 | with procedure Set_Color (Node : Node_Access; Color : Color_Type) is <>; | |
30 | ||
31 | package Ada.Containers.Red_Black_Trees.Generic_Operations is | |
32 | pragma Pure; | |
33 | ||
34 | function Min (Node : Node_Access) return Node_Access; | |
35 | ||
36 | function Max (Node : Node_Access) return Node_Access; | |
37 | ||
38 | procedure Check_Invariant (Tree : Tree_Type); | |
39 | ||
40 | function Next (Node : Node_Access) return Node_Access; | |
41 | ||
42 | function Previous (Node : Node_Access) return Node_Access; | |
43 | ||
44 | procedure Move (Target, Source : in out Tree_Type); | |
45 | ||
46 | generic | |
47 | with function Is_Equal (L, R : Node_Access) return Boolean; | |
48 | function Generic_Equal (Left, Right : Tree_Type) return Boolean; | |
49 | ||
50 | procedure Delete_Node_Sans_Free | |
51 | (Tree : in out Tree_Type; | |
52 | Node : Node_Access); | |
53 | ||
54 | generic | |
55 | with procedure Process (Node : Node_Access) is <>; | |
56 | procedure Generic_Iteration (Tree : Tree_Type); | |
57 | ||
58 | generic | |
59 | with procedure Process (Node : Node_Access) is <>; | |
60 | procedure Generic_Reverse_Iteration (Tree : Tree_Type); | |
61 | ||
62 | generic | |
63 | with function New_Node return Node_Access is <>; | |
64 | procedure Generic_Read (Tree : in out Tree_Type; N : Count_Type); | |
65 | ||
66 | procedure Rebalance_For_Insert | |
67 | (Tree : in out Tree_Type; | |
68 | Node : Node_Access); | |
69 | ||
70 | end Ada.Containers.Red_Black_Trees.Generic_Operations; |