1 ------------------------------------------------------------------------------
3 -- GNAT LIBRARY COMPONENTS --
5 -- A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S . --
6 -- G E N E R I C _ K E Y S --
10 -- This specification is adapted from the Ada Reference Manual for use with --
11 -- GNAT. In accordance with the copyright of that document, you can freely --
12 -- copy and modify this specification, provided that if you redistribute a --
13 -- modified version, any changes that you have made are clearly indicated. --
15 ------------------------------------------------------------------------------
17 with Ada.Containers.Red_Black_Trees.Generic_Operations;
20 with package Tree_Operations is new Generic_Operations (<>);
22 use Tree_Operations.Tree_Types;
24 type Key_Type (<>) is limited private;
26 with function Is_Less_Key_Node
28 R : Node_Access) return Boolean;
30 with function Is_Greater_Key_Node
32 R : Node_Access) return Boolean;
34 package Ada.Containers.Red_Black_Trees.Generic_Keys is
38 with function New_Node return Node_Access;
39 procedure Generic_Insert_Post
40 (Tree : in out Tree_Type;
46 with procedure Insert_Post
47 (Tree : in out Tree_Type;
52 procedure Generic_Conditional_Insert
53 (Tree : in out Tree_Type;
55 Node : out Node_Access;
56 Success : out Boolean);
59 with procedure Insert_Post
60 (Tree : in out Tree_Type;
65 procedure Generic_Unconditional_Insert
66 (Tree : in out Tree_Type;
68 Node : out Node_Access);
71 with procedure Insert_Post
72 (Tree : in out Tree_Type;
77 with procedure Unconditional_Insert_Sans_Hint
78 (Tree : in out Tree_Type;
80 Node : out Node_Access);
82 procedure Generic_Unconditional_Insert_With_Hint
83 (Tree : in out Tree_Type;
86 Node : out Node_Access);
89 with procedure Insert_Post
90 (Tree : in out Tree_Type;
95 with procedure Conditional_Insert_Sans_Hint
96 (Tree : in out Tree_Type;
98 Node : out Node_Access;
99 Success : out Boolean);
101 procedure Generic_Conditional_Insert_With_Hint
102 (Tree : in out Tree_Type;
103 Position : Node_Access;
105 Node : out Node_Access;
106 Success : out Boolean);
110 Key : Key_Type) return Node_Access;
114 Key : Key_Type) return Node_Access;
118 Key : Key_Type) return Node_Access;
122 Key : Key_Type) return Node_Access;
125 with procedure Process (Node : Node_Access);
126 procedure Generic_Iteration
131 with procedure Process (Node : Node_Access);
132 procedure Generic_Reverse_Iteration
136 end Ada.Containers.Red_Black_Trees.Generic_Keys;