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


A.18.1 The Package Containers

1/2
{20302AI95−00302−03} The package Containers is the root of the containers subsystem.

Static Semantics

2/2
{20302AI95−00302−03} The library package Containers has the following declaration:

3/2

     package Ada.Containers is   pragma Pure(Containers);

4/2

        type Hash_Type is mod implementation−defined;

5/2

        type Count_Type is range .. implementation−defined;

6/2

     end Ada.Containers;

7/2
{20302AI95−00302−03} Hash_Type represents the range of the result of a hash function. Count_Type represents the (potential or actual) number of elements of a container.

7.a/2

Implementation defined: The value of Containers.Hash_Type'Modulus. The value of Containers.Count_Type'Last.
Implementation Advice

8/2
{20302AI95−00302−03} Hash_Type'Modulus should be at least 2**32. Count_Type'Last should be at least 2**31−−1.

8.a/2

Implementation Advice: Containers.Hash_Type'Modulus should be at least 2**32. Containers.Count_Type'Last should be at least 2**31−−1.

8.b/2

Discussion: This is not a requirement so that these types can be declared properly on machines with native sizes that are not 32 bits. For instance, a 24−bit target could use 2**24 for Hash_Type'Modulus.
Extensions to Ada 95

8.c/2

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