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

13.5.2 Атрибуты расположения в памяти

Статическая семантика

Для компонента C составного, не массивнонного объекта R определены атрибуты расположения в памяти:
R.C'Position
Если для составного типа применяется нестандартный порядок битов, и если в описании_компонента задано расположение C, то значение задаётся для позиции в описании_компонента; в противном случае, значение совпадает со значением R.C'Address – R'Address. Значение этого атрибута имеет тип universal_integer.
R.C'First_Bit

Если для составного типа применяется нестандартный порядок битов, и если в описании_компонента задано расположение C, то значение задаётся для первого_бита в описании_компонента; в противном случае, значение представляет собой смещение, от начала первого из элементов памяти, занимаемых C, до первого бита, занимаемого C. Это смещение измеряется в битах. Первый бит элемента памяти имеет номер ноль. Значение этого атрибута имеет тип universal_integer.
R.C'Last_Bit
Если для составного типа применяется нестандартный порядок битов, и если в описании_компонента задано расположение C, то значение задаётся для последнего_бита в описании_компонента; в противном случае, значение представляет собой смещение, от начала первого из элементов памяти, занимаемых C, до последнего бита, занимаемого C. Это смещение измеряется в битах. Значение этого атрибута имеет тип universal_integer.

Рекомендации по реализации

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


Spec-Zone.ru

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