diff options
Diffstat (limited to 'gcc/ada/a-crbtgo.ads')
-rw-r--r-- | gcc/ada/a-crbtgo.ads | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/gcc/ada/a-crbtgo.ads b/gcc/ada/a-crbtgo.ads new file mode 100644 index 00000000000..3e13ae58e85 --- /dev/null +++ b/gcc/ada/a-crbtgo.ads @@ -0,0 +1,70 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT LIBRARY COMPONENTS -- +-- -- +-- ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_OPERATIONS -- +-- -- +-- S p e c -- +-- -- +-- This specification is adapted from the Ada Reference Manual for use with -- +-- GNAT. In accordance with the copyright of that document, you can freely -- +-- copy and modify this specification, provided that if you redistribute a -- +-- modified version, any changes that you have made are clearly indicated. -- +-- -- +------------------------------------------------------------------------------ + +generic + with package Tree_Types is new Generic_Tree_Types (<>); + use Tree_Types; + + Null_Node : Node_Access; + + with function Parent (Node : Node_Access) return Node_Access is <>; + with procedure Set_Parent (Node : Node_Access; Parent : Node_Access) is <>; + with function Left (Node : Node_Access) return Node_Access is <>; + with procedure Set_Left (Node : Node_Access; Left : Node_Access) is <>; + with function Right (Node : Node_Access) return Node_Access is <>; + with procedure Set_Right (Node : Node_Access; Right : Node_Access) is <>; + with function Color (Node : Node_Access) return Color_Type is <>; + with procedure Set_Color (Node : Node_Access; Color : Color_Type) is <>; + +package Ada.Containers.Red_Black_Trees.Generic_Operations is +pragma Pure; + + function Min (Node : Node_Access) return Node_Access; + + function Max (Node : Node_Access) return Node_Access; + + procedure Check_Invariant (Tree : Tree_Type); + + function Next (Node : Node_Access) return Node_Access; + + function Previous (Node : Node_Access) return Node_Access; + + procedure Move (Target, Source : in out Tree_Type); + + generic + with function Is_Equal (L, R : Node_Access) return Boolean; + function Generic_Equal (Left, Right : Tree_Type) return Boolean; + + procedure Delete_Node_Sans_Free + (Tree : in out Tree_Type; + Node : Node_Access); + + generic + with procedure Process (Node : Node_Access) is <>; + procedure Generic_Iteration (Tree : Tree_Type); + + generic + with procedure Process (Node : Node_Access) is <>; + procedure Generic_Reverse_Iteration (Tree : Tree_Type); + + generic + with function New_Node return Node_Access is <>; + procedure Generic_Read (Tree : in out Tree_Type; N : Count_Type); + + procedure Rebalance_For_Insert + (Tree : in out Tree_Type; + Node : Node_Access); + +end Ada.Containers.Red_Black_Trees.Generic_Operations; |