Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help


12.5.3 Formal Array Types

(1)
The class determined for a formal array type is the class of all array types.
Syntax
(2)
       formal_array_type_definition ::= array_type_definition
Legality Rules
(3)
The only form of discrete_subtype_definition that is allowed within the declaration of a generic formal (constrained) array subtype is a subtype_mark.
(4)
For a formal array subtype, the actual subtype shall satisfy the following conditions:
(5)
(6)
(7)
(8)
Examples
(9)
Example of formal array types:
(10)
       --  given the generic package
(11)
       generic
          type Item   is private;
          type Index  is (<>);
          type Vector is array (Index range <>) of Item;
          type Table  is array (Index) of Item;
       package P is
          ...
       end P;
(12)
       --  and the types
(13)
       type Mix    is array (Color range <>) of Boolean;
       type Option is array (Color) of Boolean;
(14)
       --  then Mix can match Vector and Option can match Table
(15)
       package R is new P(Item   => Boolean, Index => Color,
                          Vector => Mix,     Table => Option);
(16)
       --  Note that Mix cannot match Table and Option cannot match Vector

Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help

Ada WWW Home -- Email comments, additions, corrections, gripes, kudos, etc. to:

Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12