A.18.11 The Generic Package Containers.Indefinite_Vectors
1/2
{
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
2/3
{
AI95-00302-03}
{
AI05-0092-1}
The declaration of the generic library package
Containers.Indefinite_Vectors has the same contents
and semantics as
Containers.Vectors except:
3/2
The generic formal Element_Type
is indefinite.
4/2
The
procedures with the profiles:
5/2
procedure Insert (Container : in out Vector;
Before : in Extended_Index;
Count : in Count_Type := 1);
6/2
procedure Insert (Container : in out Vector;
Before : in Cursor;
Position : out Cursor;
Count : in Count_Type := 1);
7/2
are omitted.
7.a/2
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.
8/2
The actual Element parameter
of access subprogram Process of Update_Element may be constrained even
if Element_Type is unconstrained.
Extensions to Ada 95
8.a/2
{
AI95-00302-03}
The generic package Containers.Indefinite_Vectors
is new.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe