Стандартные низкоуровневые средства, пакет AdaTags
Стандартным низкоуровневым средством работы с тэговыми типами является пакет Ada.Tags.
Спецификация этого пакета, согласно стандарта, имеет следующий вид:
package Ada.Tags is
type Tag is private; function Expanded_Name(T : Tag) return String; function External_Tag(T : Tag) return String; function Internal_Tag(External : String) return Tag; Tag_Error : exception; private . . . -- стандартом не определено end Ada.Tags; |
Функция Expanded_Name возвращает полное расширенное имя типа, индефицируемого значением тэга, в виде строки (в верхнем регистре).
Результат будет зависеть от реализации компилятора, если тип описан внутри неименованного блока инструкций.
Функция External_Tag возвращает строку, которая может быть использована для внешнего представления указанного тэга.
Вызов External_Tag(S'Tag) эквивалентен обращению к атрибуту S'External_Tag.
Функция Internal_Tag возвращает тэг который соответствует указанному внешнему представлению тэга, или возбуждает исключение Tag_Error
если ни для одного из типов, в пределах раздела программы, указанная строка не является внешним представлением тэга.
Copyright (C) А.Гавва | V-0.4w май 2004 |