Ada Reference Manual (Ada 2022) — Legal Information

# A.18.12 The Generic Package Containers.Indefinite_Doubly_Linked_Lists

1/2
The language-defined generic package Containers.Indefinite_Doubly_Linked_Lists provides private types List and Cursor, and a set of operations for each type. It provides the same operations as the package Containers.Doubly_Linked_Lists (see A.18.3), with the difference that the generic formal Element_Type is indefinite.

#### Static Semantics

2/3
The declaration of the generic library package Containers.Indefinite_Doubly_Linked_Lists has the same contents and semantics as Containers.Doubly_Linked_Lists except:
3/2
The generic formal Element_Type is indefinite.
4/2
The procedure with the profile:
5/2
procedure Insert (Container : in out List;
Before : in Cursor;
Position : out Cursor;
Count : in Count_Type := 1);
6/2
is omitted.
7/2
The actual Element parameter of access subprogram Process of Update_Element may be constrained even if Element_Type is unconstrained.
8/4
The operations Append, Insert, Prepend, and Replace_Element that have a formal parameter of type Element_Type perform indefinite insertion (see A.18).
9/5
The description of Tampering_With_Elements_Prohibited is replaced by:
10/5
Returns True if tampering with elements is prohibited for Container, and False otherwise.
11/5
Tampering_With_Cursors_Prohibited is replaced by Tampering_With_Elements_Prohibited in the postcondition for the operations Reference and Constant_Reference.
12/5
The operations Replace_Element and Swap are omitted from the nested package Stable.

Ada 2005 and 2012 Editions sponsored in part by Ada-Europe