------------------------------------------------------------------------------ -- -- -- GNAT LIBRARY COMPONENTS -- -- -- -- ADA.CONTAINERS.HASH_TABLES.GENERIC_OPERATIONS -- -- -- -- S p e c -- -- -- -- Copyright (C) 2004 Free Software Foundation, Inc. -- -- -- -- 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. -- -- -- ------------------------------------------------------------------------------ with Ada.Streams; generic with package HT_Types is new Generic_Hash_Table_Types (<>); type Hash_Table_Type is new HT_Types.Hash_Table_Type with private; use HT_Types; Null_Node : in Node_Access; with function Hash_Node (Node : Node_Access) return Hash_Type; with function Next (Node : Node_Access) return Node_Access; with procedure Set_Next (Node : Node_Access; Next : Node_Access); with function Copy_Node (Source : Node_Access) return Node_Access; with procedure Free (X : in out Node_Access); package Ada.Containers.Hash_Tables.Generic_Operations is pragma Preelaborate; procedure Free_Hash_Table (Buckets : in out Buckets_Access); function Index (Buckets : Buckets_Type; Node : Node_Access) return Hash_Type; pragma Inline (Index); function Index (Hash_Table : Hash_Table_Type; Node : Node_Access) return Hash_Type; pragma Inline (Index); procedure Adjust (HT : in out Hash_Table_Type); procedure Finalize (HT : in out Hash_Table_Type); generic with function Find (HT : Hash_Table_Type; Key : Node_Access) return Boolean; function Generic_Equal (L, R : Hash_Table_Type) return Boolean; procedure Clear (HT : in out Hash_Table_Type); procedure Move (Target, Source : in out Hash_Table_Type); function Capacity (HT : Hash_Table_Type) return Count_Type; procedure Ensure_Capacity (HT : in out Hash_Table_Type; N : Count_Type); procedure Delete_Node_Sans_Free (HT : in out Hash_Table_Type; X : Node_Access); function First (HT : Hash_Table_Type) return Node_Access; function Next (HT : Hash_Table_Type; Node : Node_Access) return Node_Access; generic with procedure Process (Node : Node_Access); procedure Generic_Iteration (HT : Hash_Table_Type); generic use Ada.Streams; with procedure Write (Stream : access Root_Stream_Type'Class; Node : Node_Access); procedure Generic_Write (Stream : access Root_Stream_Type'Class; HT : Hash_Table_Type); generic use Ada.Streams; with function New_Node (Stream : access Root_Stream_Type'Class) return Node_Access; procedure Generic_Read (Stream : access Root_Stream_Type'Class; HT : out Hash_Table_Type); end Ada.Containers.Hash_Tables.Generic_Operations;