generic type Domain is private; type Ranges is private; Number_Of_Buckets : in Positive; with function Hash_Of (The_Domain : in Domain) return Positive; package Map_Simple_Noncached_Sequential_Unbounded_Managed_Noniterator is type Map is limited private; procedure Copy (From_The_Map : in Map; To_The_Map : in out Map); procedure Clear (The_Map : in out Map); procedure Bind (The_Domain : in Domain; And_The_Range : in Ranges; In_The_Map : in out Map); procedure Unbind (The_Domain : in Domain; In_The_Map : in out Map); function Is_Equal (Left : in Map; Right : in Map) return Boolean; function Extent_Of (The_Map : in Map) return Natural; function Is_Empty (The_Map : in Map) return Boolean; function Is_Bound (The_Domain : in Domain; In_The_Map : in Map) return Boolean; function Range_Of (The_Domain : in Domain; In_The_Map : in Map) return Ranges; Overflow : exception; Domain_Is_Not_Bound : exception; Multiple_Binding : exception; private type Node; type Structure is access Node; type Map is array (Positive range 1 .. Number_Of_Buckets) of Structure; end Map_Simple_Noncached_Sequential_Unbounded_Managed_Noniterator;