A.18.10 The Package Containers.Indefinite_Vectors
{
AI95-00302-03}
The language-defined generic package Containers.Indefinite_Vectors provides
a private type Vector and a set of operations. It provides the same operations
as the package Containers.Vectors (see
A.18.2),
with the difference that the generic formal Element_Type is indefinite.
Static Semantics
{
AI95-00302-03}
The declaration of the generic library package Containers.Indefinite_Vectors
has the same contents as Containers.Vectors except:
The generic formal Element_Type is indefinite.
The procedures with
the profiles:
procedure Insert (Container : in out Vector;
Before : in Extended_Index;
Count : in Count_Type := 1);
procedure Insert (Container : in out Vector;
Before : in Cursor;
Position : out Cursor;
Count : in Count_Type := 1);
are omitted.
Discussion: These procedures are omitted
because there is no way to create a default-initialized object of an
indefinite type. Note that Insert_Space can be used instead of this routine
in most cases. Omitting the routine completely allows any problems to
be diagnosed by the compiler when converting from a definite to indefinite
vector.
The actual Element parameter of access subprogram
Process of Update_Element may be constrained even if Element_Type is
unconstrained.
Extensions to Ada 95
{
AI95-00302-03}
{
extensions to Ada 95}
The generic package
Containers.Indefinite_Vectors is new.