(3)
package Ada.Strings.Maps is
pragma Preelaborate(Maps);
(4)
-- Representation for a set of character values:
type Character_Set is private;
(5)
Null_Set : constant Character_Set;
(6)
type Character_Range is
record
Low : Character;
High : Character;
end record;
-- Represents Character range Low..High
(7)
type Character_Ranges is array (Positive range <>) of Character_Range;
(8)
function To_Set (Ranges : in Character_Ranges) return Character_Set;
(9)
function To_Set (Span : in Character_Range) return Character_Set;
(10)
function To_Ranges (Set : in Character_Set) return Character_Ranges;
(11)
function "=" (Left, Right : in Character_Set) return Boolean;
(12)
function "not" (Right : in Character_Set) return Character_Set;
function "and" (Left, Right : in Character_Set) return Character_Set;
function "or" (Left, Right : in Character_Set) return Character_Set;
function "xor" (Left, Right : in Character_Set) return Character_Set;
function "-" (Left, Right : in Character_Set) return Character_Set;
(13)
function Is_In (Element : in Character;
Set : in Character_Set)
return Boolean;
(14)
function Is_Subset (Elements : in Character_Set;
Set : in Character_Set)
return Boolean;
(15)
function "<=" (Left : in Character_Set;
Right : in Character_Set)
return Boolean renames Is_Subset;
(16)
-- Alternative representation for a set of character values:
subtype Character_Sequence is String;
(17)
function To_Set (Sequence : in Character_Sequence) return Character_Set;
(18)
function To_Set (Singleton : in Character) return Character_Set;
(19)
function To_Sequence (Set : in Character_Set) return Character_Sequence;
(20)
-- Representation for a character to character mapping:
type Character_Mapping is private;
(21)
function Value (Map : in Character_Mapping;
Element : in Character)
return Character;
(22)
Identity : constant Character_Mapping;
(23)
function To_Mapping (From, To : in Character_Sequence) return Character_Mapping;
(24)
function To_Domain (Map : in Character_Mapping) return Character_Sequence;
function To_Range (Map : in Character_Mapping) return Character_Sequence;
(25)
type Character_Mapping_Function is
access function (From : in Character) return Character;
(26)
private
... -- not specified by the language
end Ada.Strings.Maps;
(31)
function To_Set (Ranges : in Character_Ranges) return Character_Set;
(33)
function To_Set (Span : in Character_Range) return Character_Set;
(35)
function To_Ranges (Set : in Character_Set) return Character_Ranges;
(37)
function "=" (Left, Right : in Character_Set) return Boolean;
(40)
function Is_In (Element : in Character;
Set : in Character_Set);
return Boolean;
(42)
function Is_Subset (Elements : in Character_Set;
Set : in Character_Set)
return Boolean;
(44)
subtype Character_Sequence is String;
(46)
function To_Set (Sequence : in Character_Sequence) return Character_Set;
function To_Set (Singleton : in Character) return Character_Set;
(48)
function To_Sequence (Set : in Character_Set) return Character_Sequence;
(50)
type Character_Mapping is private;
(52)
function Value (Map : in Character_Mapping;
Element : in Character)
return Character;
(56)
Identity : constant Character_Mapping;
(58)
function To_Mapping (From, To : in Character_Sequence) return Character_Mapping;
(60)
function To_Domain (Map : in Character_Mapping) return Character_Sequence;
(62)
function To_Range (Map : in Character_Mapping) return Character_Sequence;
-- Email comments, additions, corrections, gripes, kudos, etc. to: