Введение в программирование - Учебное пособие (Корочкин А. В.)

15.3 пакет storagejo

Настраиваемый пакет StorageJO обеспечивает средства для чте­ния и записи в буфер памяти. Пакет поддерживает конструкции, опре­деляемые пользователем в пользовательских пакетах ввода-вывода.

Спецификация пакета Storage_IO:

with Ada.lO_Exception;

with System.Storage_Elements;

generic

type   ElementJType   is    private;

package    Ada. StorageJO   is

pragma   Preelaborate (StorageJO ); Buffer_Size   : constant System.StorageJEIements. Storage

189

Глава 15. Ввод-вывод

Ада 95. Введение в программирование

188

 

_Count : =   - - определяется реализацией subtype     BuffeMType    is

System.Storage_Elements.Storage_Array (1 .. Buffer_Size);

Операции   ввода-вывода procedure Read ( Buffer   :   in Buffer_Type;

Item :   out Element_Type);

procedure Write( Buffer : out   Buffer_Type;

Item : in      Element_Type);

- -   Исключения

Data_Error  : exception   renames

IO_Exceptions. Data_Error;

end   Ada. StorageJO;

В каждом экземпляре этого пакета, получаемом после конкретиза­ции, константа BufFer_Size имеет значение, которое определяет размер ( в элементах памяти) буфера, необходимого для представления объекта подтипа

Процедуры Read и Write из пакета StorageJO соответствуют процедурам Read и Write из пакета DirectJO, однако со­держимое параметра Item читается (считывается) из указанного буфе­ра вместо внешнего файла.