Справочник Ada (Ada 2022)
A.18.14 Общий пакет Containers.Indefinite_Ordered_Maps
Определяемый языком общий пакет Containers.Indefinite_Ordered_Maps предоставляет карту с теми же операциями, что и пакет Containers.Ordered_Maps (см. A.18.6), с той разницей, что общие формальные типы Key_Type и Element_Type являются неопределёнными.
Статическая семантика
Объявление общего библиотечного пакета Containers.Indefinite_Ordered_Maps имеет то же содержимое и семантику, что и Containers.Ordered_Maps, за исключением:
- Формальный параметр общего типа Key_Type неопределён.
- Формальный параметр общего типа Element_Type неопределён.
- Процедура со структурой:
procedure Insert (Container : in out Map;
Key : in Key_Type;
Position : out Cursor;
Inserted : out Boolean);
Key : in Key_Type;
Position : out Cursor;
Inserted : out Boolean);
исключена.
- Фактический параметр Element в процедуре доступа Process из Update_Element может быть ограничен, даже если Element_Type не ограничен.
- Операции Include, Insert, Replace и Replace_Element, имеющие формальный параметр типа Element_Type, выполняют неопределённую вставку (см. A.18).
- Описание Tampering_With_Elements_Prohibited заменено на:
Возвращает True, если вмешательство в элементы запрещено для Container, и False в противном случае.
- Tampering_With_Cursors_Prohibited заменено на Tampering_With_Elements_Prohibited в постусловии для операций Reference и Constant_Reference.
- Операции Replace и Replace_Element исключены из вложенного пакета Stable.