Here is the description of packages whose source is not included in the XP zip file.

awStrings
An implmentation of dynamic wide_string handling. If strings are passed as out parameters to a subprogram, the application must know the length of the string.  This package eliminates this inconvenience.

   type pStrings is access Wide_String;

   type awStrings is new Ada.Finalization.Controlled with record
            p : pStrings := null;
          end record;

   procedure Initialize(a : in out awStrings);       -- Allocating storage
   procedure Adjust   (a : in out awStrings);       -- For string copy
   procedure Finalize  (a : in out awStrings);      -- Storage deallocation.

Buffered_Input_Wide_Text_Line
This function reads a line of text of the type Wide_String from a file or screen depending on the File parameter.  By default it reads from the screen.  The other parameters: HasPreceedingBlanks and HasTrailingBlanks determines if the read text is to contain preceeding or trailing blanks.  This function eliminates the need to know the length of the string beforehand.  This is done by recursively reading a character one at a time until the end of line is reached.  As the name of the function suggests, it would not work when reading from the screen if the input is not buffered.

IdManager
This package implements of handing out unique numbers (IDs) in an ascending order.  However, Ids can be reused when they are no longer needed by "freeing" them.

ListManager
The classic generic package for list handling.  The most frequent used child package is ListManager.Iterators.  This includes both active and passive iterators.

LowercaseWideChar, LowercaseWideString
Wrappers for calling Ada.Characters.Handling.To_Lower and Ada.Characters.Handling.To_Wide_String.  This is the same for UppercaseWideChar and UppercaseWideString

TrimW
Trims off preceeding or trailing characters depending on the parameters, PreceedingChar, TrailingChar, HasPreceedingChar, HasTrailingChar.  By default, preceeding and trailing blanks are trimmed off.

Home