"Адское" программирование Ada-95 -Компилятор GNAT



              

Стандартно определенные атрибуты типов



Стандартно определенные атрибуты типов

Список стандартно определенных атрибутов типов Ады приводится в приложении K (Annex K) руководства по языку программирования Ада (RM-95).

P'Access где P - любая подпрограмма.
Возвращает значение ссылочного типа, которое указывает на подпрограмму P.
   
X'Access  -  где X: любой объект с косвенным доступом.
Возвращает значение ссылочного типа, которое указывает на X.
   
X'Address  -  где X: любой объект или программный модуль.
Возвращает адрес первого распределенного для хранения X элемента памяти как значение типа System.Address.
   
S'Adjacent  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает смежное по отношению к первому параметру машинное число, в указанном вторым параметром направлении.
   
S'Aft  -  где S: любой вещественный тип с фиксированной точкой.
Возвращает значение типа Universal_Integer, которое показывает требуемое число десятичных цифр после десятичной точки для обеспечения величины delta при представлении S.
   
X'Alignment  -  где X: любой тип или объект.
Возвращает значение типа Universal_Integer, указывающее выравнивание X в памяти.
   
S'Base  -  где S: любой скалярный тип.
Возвращает неограниченный базовый тип для S.
   
S'Bit_Order  -  где S: любой тип записи.
Возвращает битовый порядок для S как значение типа System.Bit_Order.
   
P'Body_Version  -  где P: любой программный модуль.
Возвращает строку которая идентифицирует версию тела компилируемого модуля P.
   
T'Callable  -  где T: любая задача.
Возвращает значение True, если T может быть вызвана.
   
E'Caller  -  где E: имя любой точки входа.
Возвращает значение типа Task_ID, которое идентифицирует обрабатываемую в текущий момент задачу, обратившуюся к точке входа задачи E.Использование этого атрибута допустимо только внутри инструкции принятия (для задачи-сервера) или внутри тела входа (для защищенного модуля).
   
S'Ceiling  -  где S: любой вещественный тип с плавающей точкой.
Функция возвращающая наименьшее целочисленное значение, которое больше или равно ее параметру.
   
S'Class  -  где S: любой тэговый тип.
Возвращает надклассовый тип для класса корнем иерархии которого будет тип S.
   
X'Component_Size  -  где X: любой объект или тип массива.
Возвращает значение типа Universal_Integer которое представляет битовый размер компонентов X.
   
S'Compose  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает значение вещественного типа с плавающей точкой, комбинируя дробную часть, которая представлена первым параметром, и порядок, который представлен вторым параметром.
   
A'Constrained  -  где A: любой тип с дискриминантом.
Возвращает True когда A является ограниченным.
   
S'Copy_Sign  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает значение величина которого определяется первым параметром, а знак - вторым параметром.
   
E'Count  -  где E: имя любой точки входа.
Возвращает значение типа Universal_Integer, показывающее число обращений к точке входа E которые находятся в очереди.
   
S'Definite  -  где S: любой формально неопределенный тип.
Возвращает True если фактический тип S определен.
   
S'Delta  -  где S: любой вещественный тип с плавающей точкой.
Возвращает значение типа Universal_Real, показывающее величину значения delta для S
   
S'Denorm  -  где S: любой вещественный тип с плавающей точкой.
Возвращает True если ненормализованные значения S являются машинными числами.
   
S'Digits  -  где S: любой тип decimal или вещественный тип с плавающей точкой.
Возвращает значение типа Universal_Integer, показывающее число цифр для S.
   
S'Exponent  -  где S: любой вещественный тип с плавающей точкой.
Функция возвращающая значение типа Universal_Integer, которое представляет нормализованный порядок ее параметра.
   
S'External_Tag  -  где S: любой тэговый тип.
Возвращает представление S'Tag как значение типа String.
   
A'First(N)  -  где A: любой массив.
Возвращает нижнюю границу диапазона N-го индекса массива A.
   
A'First  -  где A: любой массив.
Возвращает нижнюю границу диапазона первого индекса массива A.
   
S'First  -  где S: любой скалярный тип.
Возвращает нижнюю границу диапазона значений типа S.
   
R.C'First_Bit  -  где R.C: любой компонент C записи типа R.
Возвращает значение типа Universal_Integer, которое представляет число битов до первого бита C внутри записи типа R.
   
S'Floor  -  где S: любой вещественный тип с плавающей точкой.
Функция возвращающая наибольшее целочисленное значение, которое больше или равно ее параметру.
   
S'Fore  -  где S: любой вещественный тип с плавающей точкой.
Возвращает значение типа Universal_Integer которое показывает минимально необходимое для представления значения S число символов до десятичной точки.
   
S'Fraction  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает дробную часть ее параметра.
   
E'Identity  -  где E: любое исключение.
Возвращает значение типа Exception_ID которое уникально идентифицирует E.
   
T'Identity  -  где T: любая задача.
Возвращает значение типа Task_ID которое уникально идентифицирует T.
   
S'Image  -  где S: любой скалярный тип.
Функция которая возвращает представление ее параметра как значение типа String.
   
S'Input  -  где S: любой тип.
Функция которая читает и возвращает значение типа S из потока, который указывается ее параметром.
   
S'Class'Input  -  где S'Class: любой надклассовый тип.
Функция которая читает из указанного как параметр потока тэг, затем, выполняет диспетчеризацию (перенаправление) вызова к подпрограмме указываемой атрибутом 'Input для типа, который идентифицируется значением прочитанного тэга, после чего, возвращает значение этого типа.
   
A'Last(N)  -  где A: любой массив.
Возвращает верхнюю границу диапазона N-го индекса массива A.
   
A'Last  -  где A: любой массив.
Возвращает верхнюю границу диапазона первого индекса массива A.
   
S'Last  -  где S: любой скалярный тип.
Возвращает верхнюю границу диапазона значений типа S.
   
R.C'Last_Bit  -  где R.C: любой компонент C записи типа R.
Возвращает значение типа Universal_Integer, которое представляет число битов до последнего бита C внутри записи типа R.
   
S'Leading_Part  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает главную часть ее первого параметра как число системы исчисления указанной как второй параметр.
   
A'Length(N)  -  где A: любой массив.
Возвращает длину N-го измерения массива A как значение типа Universal_Integer.
   
A'Length  -  где A: любой массив.
Возвращает длину первого измерения массива A как значение типа Universal_Integer.
   
S'Machine  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает ближайшее к ее параметру машинно-представляемое число.
   
S'Machine_Emax  -  где S: любой вещественный тип с плавающей точкой.
Возвращает наибольший порядок для S как значение типа Universal_Integer.
   
S'Machine_Emin  -  где S: любой вещественный тип с плавающей точкой.
Возвращает наименьший порядок для S как значение типа Universal_Integer.
   
S'Machine_Mantissa  -  где S: любой вещественный тип с плавающей точкой.
Возвращает для машинного представления S число цифр в мантиссе как значение типа Universal_Integer.
   
S'Machine_Overflows  -  где S: любой вещественный тип.
Возвращает True если было обнаружено переполнение или деление на ноль и возбуждено исключение Constraint_Error для каждой предопределенной операции возвращающей результат типа S.
   
S'Machine_Radix  -  где S: любой вещественный тип.
Возвращает основание системы счисления для машинного представления S как значение типа Universal_Integer.
   
S'Machine_Rounds  -  где S: любой вещественный тип.
Возвращает True если было выполнено округление неточного результата для каждой предопределенной операции возвращающей результат типа S.
   
S'Max  -  где S: любой скалярный тип.
Функция которая возвращает большее значение из двух переданных ей параметров.
   
S'Max_Size_In_Storage_Elements  -  где S: любой тип.
Возвращает значение типа Universal_Integer показывающее максимальное число элементов памяти занимаемых значением типа S, которое требуется при обращении к подпрограмме System.Storage_Pools.Allocate как параметр Size_In_Storage_Elements для получения значения ссылающегося на S типа.
   
S'Min  -  где S: любой скалярный тип.
Функция которая возвращает меньшее значение из двух переданных ей параметров.
   
S'Model  -  где S: любой вещественный тип с плавающей точкой.
Функция возвращающая образец числа значение которого будет смежным значением ее параметра.
   
S'Model_Emin  -  где S: любой вещественный тип с плавающей точкой.
Возвращает образец числа соответствующий S'Model_Emin.
   
S'Model_Epsilon  -  где S: любой вещественный тип с плавающей точкой.
Возвращает абсолютную разницу между и следующим наибольшим образцом числа S как значение типа Universal_Real.
   
S'Model_Mantissa  -  где S: любой вещественный тип с плавающей точкой.
Возвращает образец числа соответствующий S'Machine_Mantissa.
   
S'Model_Small  -  где S: любой вещественный тип с плавающей точкой.
Возвращает наименьший положительный образец числа S как значение типа Universal_Real.
   
S'Modulus  -  где S: любой модульный тип.
Возвращает основание системы счисления S как значение типа Universal_Integer.
   
S'Output  -  где S: любой тип.
Процедура записывающая ее второй параметр в поток, который представлен ее первым параметром, включая любые границы или дискриминанты.
   
S'Class'Output  -  где S'Class: любой надклассовый тип.
Процедура записывающая тэг ее второго параметра в поток, который указан как первый параметр, затем, выполняет диспетчеризацию (перенаправление) вызова к подпрограмме указываемой атрибутом 'Output для типа, который идентифицируется значением тэга ее второго параметра.
   
D'Partition_ID  -  где D: любое описание уровня библиотеки.
Возвращает значение типа Universal_Integer которое идентифицирует раздел (partition) распределенной программы в которой выполнена элаборация D.
   
S'Pos  -  где S: любой дискретный тип.
Функция которая возвращает номер позиции ее параметра как значение типа Universal_Integer.
   
R.C'Position  -  где R.C: любой компонент C записи типа R.
То же самое, что и R.C'Address - R'Address.
   
S'Pred  -  где S: любой дискретный тип.
Функция возвращающая значение у которого величина номера позиции на единицу меньше чем номер позиции ее параметра.
   
A'Range(N)  -  где A: любой тип массива.
Эквивалентно A'First(N) .. A'Last(N), кроме случая когда вычисление A было выполнено один раз.
   
A'Range  -  где A: любой тип массива.
Эквивалентно A'First .. A'Last, кроме случая когда вычисление A было выполнено один раз.
   
S'Range  -  где S: любой скалярный тип.
Эквивалентно S'First .. S'Last.
   
S'Read  -  где S: любой тип.
Процедура читающая ее второй параметр из потока, который указан ее первым параметром.
   
S'Class'Read  -  где S'Class: любой надклассовый тип.
Процедура выполняющая диспетчеризацию (перенаправление) вызова к подпрограмме указываемой атрибутом Read для типа, который идентифицируется значением тэга ее второго параметра.
   
S'Remainder  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает остаток от деления ее первого параметра на ее второй параметр.
   
S'Round  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает округленное значение ее параметра.
   
S'Rounding  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает ближайшее к ее параметру целое значение.
   
S'Safe_First  -  где S: любой вещественный тип с плавающей точкой.
Возвращает нижнюю границу сохранного диапазона S как значение типа Universal_Real.
   
S'Safe_Last  -  где S: любой вещественный тип с плавающей точкой.
Возвращает верхнюю границу сохранного диапазона S как значение типа Universal_Real.
   
S'Scale  -  где S: любой вещественный тип с плавающей точкой.
Возвращает для значения S позицию точки относительно крайней правой значащей цифры как значение типа Universal_Integer.
   
S'Scaling  -  где S: любой вещественный тип с плавающей точкой.
Функция которая масштабирует ее первый параметр согласно основания машинной системы исчисления возведенной в степень ее второго параметра.
   
S'Signed_Zeros  -  где S: любой вещественный тип с плавающей точкой.
Возвращает True если аппаратное представление для S обладает возможностью представления и положительного, и отрицательного нуля.
   
X'Size  -  где X: любой тип или объект.
Возвращает размер X в битах как значение типа Universal_Integer.
   
S'Small  -  где S: любой вещественный тип с плавающей точкой.
Возвращает наименьшее используемое внутри типа значение для представления S как значение типа Universal_Real.
   
S'Storage_Pool  -  где S: любой ссылочный тип.
Возвращает пул пространства памяти который используется для S как значение типа Root_Storage_Pool'Class.
   
S'Storage_Size  -  где S: любой ссылочный тип.
Возвращает результат вызова Storage_Size(S'Storage_Pool).
   
T'Storage_Size  -  где T: любая задача.
Возвращает число элементов памяти зарезервированных для T как значение типа Universal_Integer.
   
S'Succ  -  где S: любой скалярный тип.
Функция возвращающая значение у которого величина номера позиции на единицу больше чем номер позиции ее параметра.
   
X'Tag  -  где X: любой тэговый тип или объект надклассового типа.
Возвращает тэг X как значение типа Ada.Tags.Tag.
   
T'Terminated  -  где T: любая задача.
Возвращает True если выполнение T завершено.
   
S'Truncation  -  где S: любой вещественный тип с плавающей точкой.
Функция которая округляет ее параметр в направлении нуля.
   
S'Unbiased_Rounding  -  где S: любой вещественный тип с плавающей точкой.
Функция которая возвращает ближайшее к ее параметру целочисленное значение, выполняя округление в направлении четного целого если значение параметра располагается точно между двумя целыми.
   
X'Unchecked_Access  -  где X: любой объект с косвенным доступом.
Возвращает то же самое значение, что и X'Access, однако при этом не осуществляется проверка правильности обращения.
   
S'Val  -  где S: любой дискретный тип.
Функция возвращающая значение типа S номера позиции которого равен величине ее параметра.
   
X'Valid  -  где X: любой скалярный объект.
Возвращает True если X - это нормальный стандартный объект имеющий допустимое представление.
   
S'Value  -  где S: любой скалярный тип.
Функция возвращающая значение типа S представление которого задано в виде значения типа String, игнорируя ведущие и завершающие пробелы.
   
P'Version  -  где P: любой программный модуль.
Возвращает строку (значение типа String) идентифицирующую версию компилируемого модуля который содержит описание P.
   
S'Wide_Image  -  где S: любой скалярный тип.
Функция которая возвращает представление ее параметра как значение типа Wide_String.
   
S'Wide_Value  -  где S: любой скалярный тип.
Функция возвращающая значение типа S представление которого задано в виде значения типа Wide_String, игнорируя ведущие и завершающие пробелы.
   
S'Wide_Width  -  где S: любой скалярный тип.
Возвращает максимальную длину значения типа Wide_String, возвращенного при обращении к S'Wide_Image, как значение типа Universal_Integer.
   
S'Width  -  где S: любой скалярный тип.
Возвращает максимальную длину значения типа String, возвращенного при обращении к S'Image, как значение типа Universal_Integer.
   
S'Write  -  где S: любой тип.
Процедура записывающая значение ее второго параметра в поток, который указан ее первым параметром.
   
S'Class'Write  -  где S'Class: любой надклассовый тип.
Процедура выполняющая диспетчеризацию (перенаправление) вызова к подпрограмме указываемой атрибутом 'Write для типа, который идентифицируется значением тэга ее второго параметра.









Содержание  Назад  Вперед