7.3. The Package Text_IO

The following implementation-defined library package exists:

with System;
with Interfaces;

package XGC.Text_IO is

   --  package XGC.Text_IO is a greatly simplified version of Ada.Text_IO.

   type File_Type is limited private;

   type Count is range 0 .. Integer'Last;

   subtype Positive_Count is Count range 1 .. Count'Last;

   ------------------------------------------------------
   -- Control of default input, output and error files --
   ------------------------------------------------------

   procedure Set_Input  (File : in File_Type);
   procedure Set_Output (File : in File_Type);
   procedure Set_Error  (File : in File_Type);

   function Standard_Input  return File_Type;
   function Standard_Output return File_Type;
   function Standard_Error  return File_Type;

   function Current_Input  return File_Type;
   function Current_Output return File_Type;
   function Current_Error  return File_Type;

   ------------------------------------
   -- Column, Line, and Page Control --
   ------------------------------------

   procedure New_Line (File : in File_Type; Spacing : in Positive_Count := 1);
   procedure New_Line (Spacing : in Positive_Count := 1);

   procedure New_Page (File : in File_Type);
   procedure New_Page;

   ----------------------------
   -- Character Input-Output --
   ----------------------------

   procedure Get (File : in File_Type; Item : out Character);
   procedure Get (Item : out Character);
   procedure Put (File : in File_Type; Item : in Character);
   procedure Put (Item : in Character);

   -------------------------
   -- String Input-Output --
   -------------------------

   procedure Get (File : in File_Type; Item : out String);
   procedure Get (Item : out String);
   procedure Put (File : in File_Type; Item : in String);
   procedure Put (Item : in String);

   procedure Get_Line
     (File : in File_Type;
      Item : out String;
      Last : out Natural);

   procedure Get_Line
     (Item : out String;
      Last : out Natural);

   procedure Put_Line
     (File : in File_Type;
      Item : in String);

   procedure Put_Line
     (Item : in String);

   ----------------------
   -- Additional Ouput --
   ----------------------

   procedure Put (File : in File_Type; Item : in Integer);
   procedure Put (Item : in Integer);

   procedure Put (File : in File_Type; Item : in Long_Long_Integer);
   procedure Put (Item : in Long_Long_Integer);

   procedure Put (File : in File_Type; Item : in System.Address);
   procedure Put (Item : in System.Address);

   procedure Put (File : in File_Type;
      Item : in Interfaces.Unsigned_32; Base : Positive);
   procedure Put (Item : in Interfaces.Unsigned_32; Base : Positive);

   procedure Put (File : in File_Type;
      Item : in Interfaces.Unsigned_64; Base : Positive);
   procedure Put (Item : in Interfaces.Unsigned_64; Base : Positive);

private

   type File_Type is range 0 .. 2;

end XGC.Text_IO;