A.18.1 The Package Containers
1/2
{
AI95-00302-03}
The package Containers is the root of the containers subsystem.
Static Semantics
2/2
{
AI95-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 0 .. implementation-defined;
6/2
end Ada.Containers;
7/2
{
AI95-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
{
AI95-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
{
AI95-00302-03}
{
extensions to Ada 95}
The package Containers
is new.