generic type Object_Class (<>) is abstract tagged limited private; type Object_Access is access Object_Class'Class; with procedure Delete( e : in out Object_Access ); -- This generic package is
type Object_Access is access Object_Class'Class;
type Allocator is access function return Object_Access;
procedure Delete
( | e | : in out Object_Access ); |
function Allocate
( | id | : String ) return Object_Access; |
procedure Register_Class
( | id | : String; |
allocate | : not null Allocator ); |
function Template
( | id | : String ) return Object_Access; |