1 ------------------------------------------------------------------------------
3 -- GNAT LIBRARY COMPONENTS --
5 -- ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_OPERATIONS --
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. --
14 ------------------------------------------------------------------------------
17 with package Tree_Types
is new Generic_Tree_Types
(<>);
20 Null_Node
: Node_Access
;
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 <>;
31 package Ada
.Containers
.Red_Black_Trees
.Generic_Operations
is
34 function Min
(Node
: Node_Access
) return Node_Access
;
36 function Max
(Node
: Node_Access
) return Node_Access
;
38 procedure Check_Invariant
(Tree
: Tree_Type
);
40 function Next
(Node
: Node_Access
) return Node_Access
;
42 function Previous
(Node
: Node_Access
) return Node_Access
;
44 procedure Move
(Target
, Source
: in out Tree_Type
);
47 with function Is_Equal
(L
, R
: Node_Access
) return Boolean;
48 function Generic_Equal
(Left
, Right
: Tree_Type
) return Boolean;
50 procedure Delete_Node_Sans_Free
51 (Tree
: in out Tree_Type
;
55 with procedure Process
(Node
: Node_Access
) is <>;
56 procedure Generic_Iteration
(Tree
: Tree_Type
);
59 with procedure Process
(Node
: Node_Access
) is <>;
60 procedure Generic_Reverse_Iteration
(Tree
: Tree_Type
);
63 with function New_Node
return Node_Access
is <>;
64 procedure Generic_Read
(Tree
: in out Tree_Type
; N
: Count_Type
);
66 procedure Rebalance_For_Insert
67 (Tree
: in out Tree_Type
;
70 end Ada
.Containers
.Red_Black_Trees
.Generic_Operations
;