A.4.6 String-Handling Sets and Mappings
The language-defined package Strings.Maps.Constants
declares Character_Set and Character_Mapping constants corresponding
to classification and conversion functions in package Characters.Handling.
Discussion: The Constants package is
a child of Strings.Maps since it needs visibility of the private part
of Strings.Maps in order to initialize the constants in a preelaborable
way (i.e. via aggregates versus function calls).
Static Semantics
The library package
Strings.Maps.Constants has the following declaration:
{
AI95-00362-01}
package Ada.Strings.Maps.Constants
is
pragma Pure(Constants);
Control_Set :
constant Character_Set;
Graphic_Set :
constant Character_Set;
Letter_Set :
constant Character_Set;
Lower_Set :
constant Character_Set;
Upper_Set :
constant Character_Set;
Basic_Set :
constant Character_Set;
Decimal_Digit_Set :
constant Character_Set;
Hexadecimal_Digit_Set :
constant Character_Set;
Alphanumeric_Set :
constant Character_Set;
Special_Set :
constant Character_Set;
ISO_646_Set :
constant Character_Set;
Lower_Case_Map :
constant Character_Mapping;
--
Maps to lower case for letters, else identity
Upper_Case_Map :
constant Character_Mapping;
--
Maps to upper case for letters, else identity
Basic_Map :
constant Character_Mapping;
--
Maps to basic letter for letters, else identity
private
... -- not specified by the language
end Ada.Strings.Maps.Constants;
Each of these constants represents a correspondingly
named set of characters or character mapping in Characters.Handling (see
A.3.2).
Extensions to Ada 95
{
AI95-00362-01}
{
extensions to Ada 95}
Strings.Maps.Constants
is now Pure, so it can be used in pure units.