Package: Ada.Text_IO

Dependencies

with Ada.IO_Exceptions;
with Ada.Streams;
with System;
with System.File_Control_Block;

Description

Note: the generic subpackages of Text_IO (Integer_IO, Float_IO, Fixed_IO, Modular_IO, Decimal_IO and Enumeration_IO) appear as private children in GNAT. These children are with'ed automatically if they are referenced, so this rearrangement is invisible to user programs, but has the advantage that only the needed parts of Text_IO are processed and loaded.

Header

package Ada.Text_IO is
 
pragma Elaborate_Body (Text_IO);

Known child units

Ada.Text_IO.C_Streams(package)
Ada.Text_IO.Complex_Aux(package)
Ada.Text_IO.Complex_IO(generic package)
Ada.Text_IO.Decimal_Aux(package)
Ada.Text_IO.Decimal_IO(generic package)
Ada.Text_IO.Editing(package)
Ada.Text_IO.Enumeration_Aux(package)
Ada.Text_IO.Enumeration_IO(generic package)
Ada.Text_IO.Fixed_IO(generic package)
Ada.Text_IO.Float_Aux(package)
Ada.Text_IO.Float_IO(generic package)
Ada.Text_IO.Generic_Aux(package)
Ada.Text_IO.Integer_Aux(package)
Ada.Text_IO.Integer_IO(generic package)
Ada.Text_IO.Modular_Aux(package)
Ada.Text_IO.Modular_IO(generic package)
Ada.Text_IO.Text_Streams(package)

Exceptions

Data_Error renames IO_Exceptions.Data_Error
Device_Error renames IO_Exceptions.Device_Error
End_Error renames IO_Exceptions.End_Error
Layout_Error renames IO_Exceptions.Layout_Error
Mode_Error renames IO_Exceptions.Mode_Error
Name_Error renames IO_Exceptions.Name_Error
Status_Error renames IO_Exceptions.Status_Error
Use_Error renames IO_Exceptions.Use_Error

Type Summary

Count
File_Access
File_Mode
File_Type (limited type)
Primitive Operations:  Close, Col, Create, Current_Error, Current_Input, Current_Output, Delete, End_Of_File, End_Of_Line, End_Of_Page, Flush, Form, Get, Get, Get_Immediate, Get_Immediate, Get_Line, Is_Open, Line, Line_Length, Look_Ahead, Mode, Name, New_Line, New_Page, Open, Page, Page_Length, Put, Put, Put_Line, Reset, Reset, Set_Col, Set_Error, Set_Input, Set_Line, Set_Line_Length, Set_Output, Set_Page_Length, Skip_Line, Skip_Page, Standard_Error, Standard_Input, Standard_Output
Type_Set

Constants and Named Numbers

Unbounded : constant Count := 0;
Line and page length

Other Items:

type File_Type is limited private;

type File_Mode is (In_File, Out_File, Append_File);
for File_Mode use
  (In_File     => 0,  -- System.FIle_IO.File_Mode'Pos (In_File)
   Out_File    => 2,  -- System.File_IO.File_Mode'Pos (Out_File)
   Append_File => 3);
The following representation clause allows the use of unchecked conversion for rapid translation between the File_Mode type used in this package and System.File_IO. System.File_IO.File_Mode'Pos (Append_File)

type Count is range 0 .. Natural'Last;
The value of Count'Last must be large enough so that the assumption enough so that the assumption that the Line, Column and Page counts can never exceed this value is a valid assumption.

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

subtype Field is Integer range 0 .. 255;
Note: if for any reason, there is a need to increase this value, then it will be necessary to change the corresponding value in System.Img_Real in file s-imgrea.adb.

subtype Number_Base is Integer range 2 .. 16;

type Type_Set is (Lower_Case, Upper_Case);
File Management

procedure Create
  (File : in out File_Type;
   Mode : in File_Mode := Out_File;
   Name : in String := "";
   Form : in String := "");

procedure Open
  (File : in out File_Type;
   Mode : in File_Mode;
   Name : in String;
   Form : in String := "");

procedure Close  (File : in out File_Type);

procedure Delete (File : in out File_Type);

procedure Reset  (File : in out File_Type; Mode : in File_Mode);

procedure Reset  (File : in out File_Type);

function Mode (File : in File_Type) return File_Mode;

function Name (File : in File_Type) return String;

function Form (File : in File_Type) return String;

function Is_Open (File : in File_Type) return Boolean;
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;

type File_Access is access constant File_Type;

function Standard_Input  return File_Access;

function Standard_Output return File_Access;

function Standard_Error  return File_Access;

function Current_Input  return File_Access;

function Current_Output return File_Access;

function Current_Error  return File_Access;
Buffer control

procedure Flush (File : in File_Type);

procedure Flush;
Specification of line and page lengths

procedure Set_Line_Length (File : in File_Type; To : in Count);

procedure Set_Line_Length (To : in Count);

procedure Set_Page_Length (File : in File_Type; To : in Count);

procedure Set_Page_Length (To : in Count);

function Line_Length (File : in File_Type) return Count;

function Line_Length return Count;

function Page_Length (File : in File_Type) return Count;

function Page_Length return Count;
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 Skip_Line (File : in File_Type; Spacing : in Positive_Count := 1);

procedure Skip_Line (Spacing : in Positive_Count := 1);

function End_Of_Line (File : in File_Type) return Boolean;

function End_Of_Line return Boolean;

procedure New_Page (File : in File_Type);

procedure New_Page;

procedure Skip_Page (File : in File_Type);

procedure Skip_Page;

function End_Of_Page (File : in File_Type) return Boolean;

function End_Of_Page return Boolean;

function End_Of_File (File : in File_Type) return Boolean;

function End_Of_File return Boolean;

procedure Set_Col (File : in File_Type;  To : in Positive_Count);

procedure Set_Col (To : in Positive_Count);

procedure Set_Line (File : in File_Type; To : in Positive_Count);

procedure Set_Line (To : in Positive_Count);

function Col (File : in File_Type) return Positive_Count;

function Col return Positive_Count;

function Line (File : in File_Type) return Positive_Count;

function Line return Positive_Count;

function Page (File : in File_Type) return Positive_Count;

function Page return Positive_Count;
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);

procedure Look_Ahead
  (File        : in File_Type;
   Item        : out Character;
   End_Of_Line : out Boolean);

procedure Look_Ahead
  (Item        : out Character;
   End_Of_Line : out Boolean);

procedure Get_Immediate
  (File : in File_Type;
   Item : out Character);

procedure Get_Immediate
  (Item : out Character);

procedure Get_Immediate
  (File      : in File_Type;
   Item      : out Character;
   Available : out Boolean);

procedure Get_Immediate
  (Item      : out Character;
   Available : out Boolean);
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);
Generic packages for Input-Output

private

   --  Implementation-defined ...
end Ada.Text_IO;