with Ada.Unchecked_Deallocation;
package Lib.Strings is
   
   type Wide_String_Access is access all Wide_String;
   procedure Wide_Free is new Ada.Unchecked_Deallocation (Wide_String, Wide_String_Access);
   type String_Access is access all String;
   procedure String_Free is new Ada.Unchecked_Deallocation (String, String_Access);
   
   subtype Line_Index_Range is Natural range 0..132072;
   type Wide_String_Array is array (Line_Index_Range range <>) of Wide_String_Access;
   type Wide_String_Set (Lines_Max : Line_Index_Range) is tagged
      record
	 Lines : Wide_String_Array(1..Lines_Max);
	 Line_Last : Natural := 0;	     
      end record;   
   procedure Set_Free(Set : in out Wide_String_Set);
end Lib.Strings ;