A.18.5 The Package Containers.Hashed_Maps
Static Semantics
{
AI95-00302-03}
The generic library package Containers.Hashed_Maps has the following
declaration:
generic
type Key_Type
is private;
type Element_Type
is private;
with function Hash (Key : Key_Type)
return Hash_Type;
with function Equivalent_Keys (Left, Right : Key_Type)
return Boolean;
with function "=" (Left, Right : Element_Type)
return Boolean is <>;
package Ada.Containers.Hashed_Maps
is
pragma Preelaborate(Hashed_Maps);
type Map
is tagged private;
pragma Preelaborable_Initialization(Map);
type Cursor
is private;
pragma Preelaborable_Initialization(Cursor);
Empty_Map :
constant Map;
No_Element :
constant Cursor;
function "=" (Left, Right : Map) return Boolean;
function Capacity (Container : Map)
return Count_Type;
procedure Reserve_Capacity (Container :
in out Map;
Capacity :
in Count_Type);
function Length (Container : Map)
return Count_Type;
function Is_Empty (Container : Map)
return Boolean;
procedure Clear (Container :
in out Map);
function Key (Position : Cursor)
return Key_Type;
function Element (Position : Cursor)
return Element_Type;
procedure Replace_Element (Container :
in out Map;
Position :
in Cursor;
New_Item :
in Element_Type);
procedure Query_Element
(Position :
in Cursor;
Process :
not null access procedure (Key :
in Key_Type;
Element :
in Element_Type));
procedure Update_Element
(Container :
in out Map;
Position :
in Cursor;
Process :
not null access procedure
(Key :
in Key_Type;
Element :
in out Element_Type));
procedure Move (Target :
in out Map;
Source :
in out Map);
procedure Insert (Container :
in out Map;
Key :
in Key_Type;
New_Item :
in Element_Type;
Position :
out Cursor;
Inserted :
out Boolean);
procedure Insert (Container :
in out Map;
&