with Ada.Containers.Hashed_Maps;
generic
type Object_Type is tagged private;
package Limited_With3_Pkg1 is
type Key_Type is access all String;
type Element_Type is new Object_Type with null record;
type Element_Access is access all Element_Type;
function Equal (Left, Right : Element_Access) return Boolean;
function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
function Hash (Key : Key_Type) return Ada.Containers.Hash_Type;
package Table_Package is new Ada.Containers.Hashed_Maps (
Key_Type => Key_Type,
Element_Type => Element_Access,
Hash => Hash,
Equivalent_Keys => Equivalent_Keys,
"=" => Equal);
end Limited_With3_Pkg1;