An operation
operates on
a type T if it yields a value of type
T, if it has
an operand whose expected type (see
8.6) is
T, or if it has an access parameter (see
6.1)
designating
T.
A predefined operator, or other
language-defined operation such as assignment or a membership test, that
operates on a type, is called a
predefined operation of the type.
The
primitive operations of a type are the
predefined operations of the type, plus any user-defined primitive subprograms.