-------------------------------------------------------------------- -- Instantantiate this package before using. To allocate integers, -- -- package Integer_Pool is new Pool (Integer, Integer_Pointer, Storage_Pool); -- -- Integer_Pool.Allocate (10); -------------------------------------------------------------------- generic --type Normal_Type is private; type Normal_Type is limited private; type Pointer_Type is access all Normal_Type; Storage_Pool: in Storage_Pool_Pointer := null; package H2.Pool is --pragma Preelaborate (Pool); function Allocate (Pool: in Storage_Pool_Pointer := null) return Pointer_Type; -- function Allocate (Source: in Normal_Type; -- Pool: in Storage_Pool_Pointer := null) return Pointer_Type; procedure Deallocate (Target: in out Pointer_Type; Pool: in Storage_Pool_Pointer := null); end H2.Pool;