Contents Index Search Previous Next
Section 12: Generic Units
A generic unit
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
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.
Contents Index Search Previous Next Legal