28 lines
		
	
	
		
			898 B
		
	
	
	
		
			Ada
		
	
	
	
	
	
			
		
		
	
	
			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;
 | |
| 
 |