Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

A.18.11 Обобщённый пакет Containers.Indefinite_Vectors

Определяемый языком обобщённый пакет Containers.Indefinite_Vectors предоставляет частный тип Vector и набор операций. Он предоставляет те же операции, что и пакет Containers.Vectors (см. A.18.2), с той разницей, что обобщённый формальный параметр Element_Type является неопределённым.

Статическая семантика

Декларация обобщённого библиотечного пакета Containers.Indefinite_Vectors имеет такое же содержимое и семантику, что и Containers.Vectors, за исключением:
  • Обобщённый формальный параметр Element_Type является неопределённым.
  • Процедуры с профилями:
процедура Insert (Container : вход-выход Vector;
Before : вход Extended_Index;
Count : вход Count_Type := 1);
процедура Insert (Container : вход-выход Vector;
Before : вход Cursor;
Position : выход Cursor;
Count : вход Count_Type := 1);
исключаются.
  • Фактический параметр Element доступа к подпрограмме Process типа Update_Element может быть ограниченным, даже если Element_Type не ограничен.
  • Операции "&", Append, Insert, Prepend, Replace_Element и To_Vector, имеющие формальный параметр типа Element_Type, выполняют неопределённую вставку (см. A.18).
  • Описание Tampering_With_Elements_Prohibited заменено на:
Возвращает True, если вмешательство в элементы запрещено для Container, и False в противном случае.
  • Tampering_With_Cursors_Prohibited заменено на Tampering_With_Elements_Prohibited в постусловии для операций Reference и Constant_Reference.
  • Операции Replace_Element, Reverse_Elements и Swap, а также вложенный обобщённый модуль Generic_Sorting исключены из вложенного пакета Stable.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API