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

13.6 Изменение представления

Тип преобразования (см. 4.6) может использоваться для преобразования между двумя различными представлениями одного и того же массива или записи. Для преобразования массива из одного представления в другое необходимо объявить два типа массивов с соответствующими подтипами элементов и преобразуемыми типами индексов. Если один тип имеет указание упаковки, а другой — нет, то для упаковки или распаковки массива можно использовать явное преобразование.
Для преобразования записи из одного представления в другое необходимо объявить два типа записей с общим типом предка, без унаследованных подпрограмм. Затем можно указать разные представления для типов записей, и явное преобразование между типами можно использовать для изменения представления.

Примеры

Пример изменения представления:
-- Packed_Descriptor и Descriptor — два разных типа
-- с идентичными характеристиками, за исключением их
-- представления
type Descriptor is
record
-- компоненты дескриптора
end record;
type Packed_Descriptor is new Descriptor;
for Packed_Descriptor use
record
-- пункты компонента для некоторых или для всех компонентов
end record;
-- Изменение представления теперь может быть выполнено с помощью явных преобразований типов:
D : Descriptor;
P : Packed_Descriptor;
P := Packed_Descriptor(D); -- упаковка D
D := Descriptor(P); -- распаковка P


Spec-Zone.ru

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