hcl/lib/h2-pool.ads

28 lines
898 B
Ada

--------------------------------------------------------------------
-- 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;