Next: , Previous: A.18.11, Up: A.18


A.18.12 The Package Containers.Indefinite_Hashed_Maps

1/2
{20302AI95−00302−03} The language−defined generic package Containers.Indefinite_Hashed_Maps provides a map with the same operations as the package Containers.Hashed_Maps (see A.18.5), with the difference that the generic formal types Key_Type and Element_Type are indefinite.

Static Semantics

2/2
{20302AI95−00302−03} The declaration of the generic library package Containers.Indefinite_Hashed_Mapshas the same contents as Containers.Hashed_Maps except:

3/2

4/2

5/2

6/2

     procedure Insert (Container in out Map;
                       Key       in     Key_Type;
                       Position     out Cursor;
                       Inserted     out Boolean);

7/2

7.a/2

Discussion: This procedure is omitted because there is no way to create a default−initialized object of an indefinite type. We considered having this routine insert an empty element similar to the empty elements of a vector, but rejected this possibility because the semantics are fairly complex and very different from the existing case. That would make it more error−prone to convert a container from a definite type to an indefinite type; by omitting the routine completely, any problems will be diagnosed by the compiler.

8/2

Extensions to Ada 95

8.a/2

{20302AI95−00302−03} {extensions to Ada 95} The generic package Containers.Indefinite_Hashed_Maps is new.