Ada Reference Manual (Ada 2022 Draft 34)Legal Information
Contents   Index   References   Search   Previous   Next 

12.5.5 Formal Interface Types

1/2
The category determined for a formal interface type is the category of all interface types. 

Syntax

2/2
formal_interface_type_definition ::= interface_type_definition

Legality Rules

3/2
The actual type shall be a descendant of every progenitor of the formal type.
4/2
The actual type shall be a limited, task, protected, or synchronized interface if and only if the formal type is also, respectively, a limited, task, protected, or synchronized interface. 

Examples

5/5
Example of the use of a generic with a formal interface type, to establish a standard interface that all tasks will implement so they can be managed appropriately by an application-specific scheduler: 
6/2
type Root_Work_Item is tagged private;
7/2
generic
   type Managed_Task is task interface;
   type Work_Item(<>) is new Root_Work_Item with private;
package Server_Manager is
   task type Server is new Managed_Task with
      entry Start(Data : in out Work_Item);
   end Server;
end Server_Manager;

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe