Spec-Zone.ru › Ada 2022
Справочник по Ada (Ada 2022)

A.10.1 Пакет Text_IO

Статическая семантика

В библиотечном пакете Text_IO содержится следующее объявление:
with Ada.IO_Exceptions;
package Ada.Text_IO
with Global => in out synchronized is
type File_Type is limited private;
type File_Mode is (In_File, Out_File, Append_File);
type Count is range 0 .. определяется реализацией;
subtype Positive_Count is Count range 1 .. Count'Last;
Unbounded : constant Count := 0; -- длина строки и страницы
subtype Field is Integer range 0 .. определяется реализацией;
subtype Number_Base is Integer range 2 .. 16;
type Type_Set is (Lower_Case, Upper_Case);
-- Управление файлами
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;
-- Управление файлами ввода-вывода по умолчанию
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;
--Управление буфером
procedure Flush (File : in File_Type)
with Global => overriding in out File;
procedure Flush
with Global => in out all;
-- Указание длин строки и страницы
procedure Set_Line_Length(File : in File_Type; To : in Count)
with Global => overriding in out File;
procedure Set_Line_Length(To : in Count)
with Global => in out all;
procedure Set_Page_Length(File : in File_Type; To : in Count)
with Global => overriding in out File;
procedure Set_Page_Length(To : in Count)
with Global => in out all;
function Line_Length(File : in File_Type) return Count;
function Line_Length return Count
with Global => in all;
function Page_Length(File : in File_Type) return Count;
function Page_Length return Count
with Global => in all;
-- Управление столбцами, строками и страницами
procedure New_Line (File : in File_Type;
Spacing : in Positive_Count := 1)
with Global => overriding in out File;
procedure New_Line (Spacing : in Positive_Count := 1)
with Global => in out all;
procedure Skip_Line (File : in File_Type;
Spacing : in Positive_Count := 1)
with Global => overriding in out File;
procedure Skip_Line (Spacing : in Positive_Count := 1)
with Global => in out all;
function End_Of_Line(File : in File_Type) return Boolean;
function End_Of_Line return Boolean;
procedure New_Page (File : in File_Type)
with Global => overriding in out File;
procedure New_Page
with Global => in out all;
procedure Skip_Page (File : in File_Type)
with Global => overriding in out File;
procedure Skip_Page
with Global => in out all;
function End_Of_Page(File : in File_Type) return Boolean;
function End_Of_Page return Boolean
with Global => in all;
function End_Of_File(File : in File_Type) return Boolean;
function End_Of_File return Boolean
with Global => in all;
procedure Set_Col (File : in File_Type; To : in Positive_Count)
with Global => overriding in out File;
procedure Set_Col (To : in Positive_Count)
with Global => in out all;
procedure Set_Line(File : in File_Type; To : in Positive_Count)
with Global => overriding in out File;
procedure Set_Line(To : in Positive_Count)
with Global => in out all;
function Col (File : in File_Type) return Positive_Count;
function Col return Positive_Count
with Global => in all;
function Line(File : in File_Type) return Positive_Count;
function Line return Positive_Count
with Global => in all;
function Page(File : in File_Type) return Positive_Count;
function Page return Positive_Count
with Global => in all;
-- Ввод-вывод символов
procedure Get(File : in File_Type; Item : out Character)
with Global => overriding in out File;
procedure Get(Item : out Character)
with Global => in out all;
procedure Put(File : in File_Type; Item : in Character)
with Global => overriding in out File;
procedure Put(Item : in Character)
with Global => in out all;
procedure Look_Ahead (File : in File_Type;
Item : out Character;
End_Of_Line : out Boolean)
with Global => overriding in out File;
procedure Look_Ahead (Item : out Character;
End_Of_Line : out Boolean)
with Global => in out all;
procedure Get_Immediate(File : in File_Type;
Item : out Character)
with Global => overriding in out File;
procedure Get_Immediate(Item : out Character)
with Global => in out all;
procedure Get_Immediate(File : in File_Type;
Item : out Character;
Available : out Boolean)
with Global => overriding in out File;
procedure Get_Immediate(Item : out Character;
Available : out Boolean)
with Global => in out all;
-- Ввод-вывод строк
procedure Get(File : in File_Type; Item : out String)
with Global => overriding in out File;
procedure Get(Item : out String)
with Global => in out all;
procedure Put(File : in File_Type; Item : in String)
with Global => overriding in out File;
procedure Put(Item : in String)
with Global => in out all;
procedure Get_Line(File : in File_Type;
Item : out String;
Last : out Natural)
with Global => overriding in out File;
procedure Get_Line(Item : out String; Last : out Natural)
with Global => in out all;
function Get_Line(File : in File_Type) return String
with Global => overriding in out File;
function Get_Line return String
with Global => in out all;
procedure Put_Line(File : in File_Type; Item : in String)
with Global => overriding in out File;
procedure Put_Line(Item : in String)
with Global => in out all;
-- Обобщённые пакеты для ввода-вывода целочисленных типов
generic
type Num is range <>;
package Integer_IO is
Default_Width : Field := Num'Width;
Default_Base : Number_Base := 10;
procedure Get(File : in File_Type;
Item : out Num;
Width : in Field := 0)
with Global => overriding in out File;
procedure Get(Item : out Num;
Width : in Field := 0)
with Global => in out all;
END_OF_DOCUMENT_MARKER
процедура Put(Файл : вход File_Type;
Элемент : вход Num;
Ширина : вход Field := Default_Width;
Основание : вход Number_Base := Default_Base)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Num;
Ширина : вход Field := Default_Width;
Основание : вход Number_Base := Default_Base)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Num;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Num;
Основание : вход Number_Base := Default_Base)
с Nonblocking;
конец Integer_IO;
обобщённый
тип Num является mod <>;
пакет Modular_IO является
Default_Width : Field := Num'Width;
Default_Base : Number_Base := 10;
процедура Get(Файл : вход File_Type;
Элемент : выход Num;
Ширина : вход Field := 0)
с Global => переопределяющий вход выход Файл;
процедура Get(Элемент : выход Num;
Ширина : вход Field := 0)
с Global => вход выход все;
процедура Put(Файл : вход File_Type;
Элемент : вход Num;
Ширина : вход Field := Default_Width;
Основание : вход Number_Base := Default_Base)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Num;
Ширина : вход Field := Default_Width;
Основание : вход Number_Base := Default_Base)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Num;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Num;
Основание : вход Number_Base := Default_Base)
с Nonblocking;
конец Modular_IO;
-- Обобщенные пакеты для ввода-вывода типов вещественных чисел
обобщённый
тип Num является digits <>;
пакет Float_IO является
Default_Fore : Field := 2;
Default_Aft : Field := Num'Digits-1;
Default_Exp : Field := 3;
процедура Get(Файл : вход File_Type;
Элемент : выход Num;
Ширина : вход Field := 0)
с Global => переопределяющий вход выход Файл;
процедура Get(Элемент : выход Num;
Ширина : вход Field := 0)
с Global => вход выход все;
процедура Put(Файл : вход File_Type;
Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Num;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Num;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Nonblocking;
конец Float_IO;
обобщённый
тип Num является delta <>;
пакет Fixed_IO является
Default_Fore : Field := Num'Fore;
Default_Aft : Field := Num'Aft;
Default_Exp : Field := 0;
процедура Get(Файл : вход File_Type;
Элемент : выход Num;
Ширина : вход Field := 0)
с Global => переопределяющий вход выход Файл;
процедура Get(Элемент : выход Num;
Ширина : вход Field := 0)
с Global => вход выход все;
процедура Put(Файл : вход File_Type;
Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Num;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Num;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Nonblocking;
конец Fixed_IO;
обобщённый
тип Num является delta <> digits <>;
пакет Decimal_IO является
Default_Fore : Field := Num'Fore;
Default_Aft : Field := Num'Aft;
Default_Exp : Field := 0;
процедура Get(Файл : вход File_Type;
Элемент : выход Num;
Ширина : вход Field := 0)
с Global => переопределяющий вход выход Файл;
процедура Get(Элемент : выход Num;
Ширина : вход Field := 0)
с Global => вход выход все;
процедура Put(Файл : вход File_Type;
Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Num;
Перед : вход Field := Default_Fore;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Num;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Num;
После : вход Field := Default_Aft;
Экспонента : вход Field := Default_Exp)
с Nonblocking;
конец Decimal_IO;
-- Обобщённый пакет для ввода-вывода типов перечислений
обобщённый
тип Enum является (<>);
пакет Enumeration_IO является
Default_Width : Field := 0;
Default_Setting : Type_Set := Upper_Case;
процедура Get(Файл : вход File_Type;
Элемент : выход Enum)
с Global => переопределяющий вход выход Файл;
процедура Get(Элемент : выход Enum)
с Global => вход выход все;
процедура Put(Файл : вход File_Type;
Элемент : вход Enum;
Ширина : вход Field := Default_Width;
Настройка : вход Type_Set := Default_Setting)
с Global => переопределяющий вход выход Файл;
процедура Put(Элемент : вход Enum;
Ширина : вход Field := Default_Width;
Настройка : вход Type_Set := Default_Setting)
с Global => вход выход все;
процедура Get(Откуда : вход String;
Элемент : выход Enum;
Последний : выход Positive)
с Nonblocking;
процедура Put(Куда : выход String;
Элемент : вход Enum;
Настройка : вход Type_Set := Default_Setting)
с Nonblocking;
конец Enumeration_IO;
-- Исключения
Status_Error : исключение переименовано IO_Exceptions.Status_Error;
Mode_Error : исключение переименовано IO_Exceptions.Mode_Error;
Name_Error : исключение переименовано IO_Exceptions.Name_Error;
Use_Error : исключение переименовано IO_Exceptions.Use_Error;
Device_Error : исключение переименовано IO_Exceptions.Device_Error;
End_Error : исключение переименовано IO_Exceptions.End_Error;
Data_Error : исключение переименовано IO_Exceptions.Data_Error;
Layout_Error : исключение переименовано IO_Exceptions.Layout_Error;
пакет Wide_File_Names является
-- Управление файлами
процедура Create (Файл : вход выход File_Type;
Режим : вход File_Mode := Out_File;
Имя : вход Wide_String := "";
Формат : вход Wide_String := "");
процедура Open (Файл : вход выход File_Type;
Режим : вход File_Mode;
Имя : вход Wide_String;
Формат : вход Wide_String := "");
функция Name (Файл : вход File_Type) возвращает Wide_String;
функция Form (Файл : вход File_Type) возвращает Wide_String;
конец Wide_File_Names;
пакет Wide_Wide_File_Names является
-- Управление файлами
процедура Create (Файл : вход выход File_Type;
Режим : вход File_Mode := Out_File;
Имя : вход Wide_Wide_String := "";
Формат : вход Wide_Wide_String := "");
процедура Open (Файл : вход выход File_Type;
Режим : вход File_Mode;
Имя : вход Wide_Wide_String;
Формат : вход Wide_Wide_String := "");
функция Name (Файл : вход File_Type) возвращает Wide_Wide_String;
функция Form (Файл : вход File_Type) возвращает Wide_Wide_String;
конец Wide_Wide_File_Names;
частное
... -- не определено языком
конец Ada.Text_IO;
Тип File_Type требует завершения (см. 7.6).


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API