Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

12.5.4 Типы формального доступа

Категория, определённая для типа формального доступа, — это категория всех типов доступа.

Синтаксис

formal_access_type_definition ::= access_type_definition

Правила легитимности

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

Примеры

Пример типов формального доступа:
-- типы формального доступа в обобщенном пакете
generic
type Node is private;
type Link is access Node;
package P is
...
end P;
-- могут быть сопоставлены с фактическими типами
type Car;
type Car_Name is access Car;
type Car is
record
Pred, Succ : Car_Name;
Number : License_Number;
Owner : Person;
end record;
-- в следующем экземпляре обобщенного пакета
package R is new P(Node => Car, Link => Car_Name);


Spec-Zone.ru

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