Ада-95. Компилятор GNAT


         

и пользователь может описывать атрибуты


Предопределенные атрибуты 'Read и 'Write

используют операции Read и Write

ассоциированного с ними потока, и пользователь может описывать атрибуты одинаковым образом.

Примечательно, что параметр Stream для корневого типа имеет тип Root_Stream_Type, тогда как атрибут - это ссылочный тип обозначающий соответствующий класс.

Таким образом, такой атрибут, определяемый пользователем, должен будет выполнять подходящее разыменование:

procedure My_Write(Stream : access Streams.Root_Stream_Type'Class; Item : T) is

begin

. . . -- преобразование значений в потоковые элементы Streams.Write(Stream.all, ...); -- диспетчеризации (перенаправления) вызова end My_Write;

В заключение рассмотрения потоков Ады заметим что Ada.Stream_IO

может быть использован для осуществления индексированного доступа.

Это возможно, поскольку файл структурирован как последовательность потоковых элементов.

Таким образом, индексированный доступ работает в терминах потоковых элементов подобно тому как работает Direct_IO в терминах элементов типа.

Это значит, что индекс может быть прочитан и переустановлен.

Процедуры Read и Write выполняют обработку относительно текущего значения индекса, также существует альтернативная процедура Read

которая стартует согласно указанного значения индекса.

Процедуры Read и Write (которые используют файловый параметр) точно соответствуют диспетчеризуемым (перенаправляемым) операциям ассоциированного потока.


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий