generic
with package HT_Types is
new Generic_Hash_Table_Types (<>);
type HT_Type is new HT_Types.Hash_Table_Type with private;
use HT_Types;
Null_Node : Node_Access;
with function Next (Node : Node_Access) return Node_Access;
with procedure Set_Next
(Node : Node_Access;
Next : Node_Access);
type Key_Type (<>) is limited private;
with function Hash (Key : Key_Type) return Hash_Type;
with function Equivalent_Keys
(Key : Key_Type;
Node : Node_Access) return Boolean;
package Ada.Containers.Hash_Tables.Generic_Keys is
pragma Preelaborate;
function Index
(HT : HT_Type;
Key : Key_Type) return Hash_Type;
pragma Inline (Index);
procedure Delete_Key_Sans_Free
(HT : in out HT_Type;
Key : Key_Type;
X : out Node_Access);
function Find (HT : HT_Type; Key : Key_Type) return Node_Access;
generic
with function New_Node
(Next : Node_Access) return Node_Access;
procedure Generic_Conditional_Insert
(HT : in out HT_Type;
Key : Key_Type;
Node : out Node_Access;
Success : out Boolean);
end Ada.Containers.Hash_Tables.Generic_Keys;