ГОСТ Р ИСО/МЭК 8824-4-2003
8.12 Когда в параметризованный тип в качестве фактического параметра подставляется значение или множество значений, то требуется, чтобы тип фактического параметра был совместим с управляющим соответствующего пустого параметра. (См. ГОСТ Р ИСО/МЭК 8824-1, F.6.2, F.6.3).
8.13 При определении параметризованного типа с пустым параметром вместо значения или множества значений тип, используемый для управления этим пустым параметром, должен быть таким, что все его значения допустимы для использования во всех правых частях присваиваний, где есть пустой параметр. (См. ГОСТ Р ИСО/МЭК 8824-1, F.6.5).
9 Указания параметризованных определений
9.1 В перечне “SymbolList” (в “Export” или “Import”) параметризованное определение должно быть указано с помощью “ParameterizedReference”:
ParameterizedReference : : = Reference | Reference “{” “}”, где “Reference” — первый элемент в “ParameterizedAssignment”, как определено в 8.2.
Примечание — Первая альтернатива для “ParameterizedReference” предусмотрена исключительно для облегчения понимания. Обе альтернативы имеют один и тот же смысл.
9.2 Вне “Export” или “Import” параметризованное определение должно быть указано конструкцией “Parameterized<X>”, которая может использоваться как альтернатива для соответствующего “<Х>”.
ParameterizedType : : =
SimpleDefinedType
ActualParameterList
SimpleDefinedType : : =
Externaltypereference | typereference
ParameterizedValue : : =
SimpleDefinedValue
ActualParameterList
SimpleDefinedValue : : =
Externlvaluereference | valuereference
ParameterizedValueSetType : : =
SimpleDefinedType
ActualParameterList
ParameterizedObjectClass : : =
DefinedObjectClass
ActualParameterList
ParameterizedObjectSet : : =
DefinedObjectSet
ActualParameterList
ParameterizedObject : : =
DefinedObject
ActualParameterList
9.3 Имя ссылки в “Defind<X>” должно быть именем ссылки, для которого сделано присваивание в “ParameterizedAssignment”.
6