Generic package: Ada.Containers.Red_Black_Trees.Generic_Keys

Dependencies

with Ada.Containers.Red_Black_Trees.Generic_Operations;

Header

generic

   with package Tree_Operations is
     new Generic_Operations (<>);

   use Tree_Operations.Tree_Types;

   type Key_Type (<>) is limited private;

   with function Is_Less_Key_Node
     (L : Key_Type;
      R : Node_Access) return Boolean;

   with function Is_Greater_Key_Node
     (L : Key_Type;
      R : Node_Access) return Boolean;

package Ada.Containers.Red_Black_Trees.Generic_Keys is
 
pragma Pure;

Other Items:

generic
   with function New_Node return Node_Access;
procedure Generic_Insert_Post
  (Tree : in out Tree_Type;
   X, Y : in     Node_Access;
   Key  : in     Key_Type;
   Z    :    out Node_Access);

generic

   with procedure Insert_Post
     (Tree : in out Tree_Type;
      X, Y : in     Node_Access;
      Key  : in     Key_Type;
      Z    :    out Node_Access);

procedure Generic_Conditional_Insert
  (Tree    : in out Tree_Type;
   Key     : in     Key_Type;
   Node    :    out Node_Access;
   Success :    out Boolean);

generic

   with procedure Insert_Post
     (Tree : in out Tree_Type;
      X, Y : in     Node_Access;
      Key  : in     Key_Type;
      Z    :    out Node_Access);

   with procedure Conditional_Insert_Sans_Hint
     (Tree    : in out Tree_Type;
      Key     : in     Key_Type;
      Node    :    out Node_Access;
      Success :    out Boolean);

procedure Generic_Conditional_Insert_With_Hint
  (Tree     : in out Tree_Type;
   Position : in     Node_Access;
   Key      : in     Key_Type;
   Node     :    out Node_Access;
   Success  :    out Boolean);

function Find
  (Tree : Tree_Type;
   Key  : Key_Type) return Node_Access;

function Ceiling
  (Tree : Tree_Type;
   Key  : Key_Type) return Node_Access;

function Floor
  (Tree : Tree_Type;
   Key  : Key_Type) return Node_Access;
end Ada.Containers.Red_Black_Trees.Generic_Keys;