Next: , Previous: A.8, Up: A.8


A.8.1 The Generic Package Sequential_IO

Static Semantics

1
The generic library package Sequential_IO has the following declaration:

2

     with Ada.IO_Exceptions;
     generic
        type Element_Type(<>) is private;
     package Ada.Sequential_IO is

3

        type File_Type is limited private;

4

        type File_Mode is (In_File, Out_File, Append_File);

5

        −− File management

6

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

7

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

8

        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);

9

        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;

10

        function Is_Open(File in File_Type) return Boolean;

11

        −− Input and output operations

12

        procedure Read  (File in File_Type; Item out Element_Type);
        procedure Write (File in File_Type; Item in Element_Type);

13

        function End_Of_File(File in File_Type) return Boolean;

14

        −− Exceptions

15

        Status_Error exception renames IO_Exceptions.Status_Error;
        Mode_Error   exception renames IO_Exceptions.Mode_Error;
        Name_Error   exception renames IO_Exceptions.Name_Error;
        Use_Error    exception renames IO_Exceptions.Use_Error;
        Device_Error exception renames IO_Exceptions.Device_Error;
        End_Error    exception renames IO_Exceptions.End_Error;
        Data_Error   exception renames IO_Exceptions.Data_Error;

16

     private
        ... −− not specified by the language
     end Ada.Sequential_IO;

17/2
The type File_Type needs finalization (see 7.6) in every instantiation of Sequential_IO.