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

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

Преобразование типа (type_conversion) (см. 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