Go to the first, previous, next, last section, table of contents.
-
A generic unit is a program unit that is either a generic subprogram or
a generic package. A generic unit is a template, which can be
parameterized, and from which corresponding (nongeneric) subprograms or
packages can be obtained. The resulting program units are said to be
instances of the original generic unit.
-
A generic unit is declared by a generic_declaration. This form of
declaration has a generic_formal_part declaring any generic formal
parameters. An instance of a generic unit is obtained as the result of a
generic_instantiation with appropriate generic actual parameters for the
generic formal parameters. An instance of a generic subprogram is a
subprogram. An instance of a generic package is a package.
-
Generic units are templates. As templates they do not have the
properties that are specific to their nongeneric counterparts. For
example, a generic subprogram can be instantiated but it cannot be
called. In contrast, an instance of a generic subprogram is a
(nongeneric) subprogram; hence, this instance can be called but it
cannot be used to produce further instances.
- 12.1: Generic Declarations
- 12.2: Generic Bodies
- 12.3: Generic Instantiation
- 12.4: Formal Objects
- 12.5: Formal Types
- 12.6: Formal Subprograms
- 12.7: Formal Packages
- 12.8: Example of a Generic Package
-- The Detailed Node Listing ---
- 12.1: Generic Declarations
- 12.2: Generic Bodies
- 12.3: Generic Instantiation
- 12.4: Formal Objects
- 12.5: Formal Types
- 12.5.1: Formal Private and Derived Types
- 12.5.2: Formal Scalar Types
- 12.5.3: Formal Array Types
- 12.5.4: Formal Access Types
- 12.6: Formal Subprograms
- 12.7: Formal Packages
- 12.8: Example of a Generic Package
Go to the first, previous, next, last section, table of contents.