AVR-Ada Wiki
Ada cross compiler and libraries for AVR µCs
Status: Beta
Brought to you by:
rolf_ebert
The AVR.Strings.Maps package provides many of the standard Ada facilities for AVR_Strings.
with Ada.Characters.Latin_1; package AVR.Strings.Maps is pragma Pure (Maps); -------------------------------- -- Character Set Declarations -- -------------------------------- type Character_Set is private; -- Representation for a set of character values: Null_Set : constant Character_Set; --------------------------- -- Constructors for Sets -- --------------------------- type Character_Range is record Low : Character; High : Character; end record; -- Represents Character range Low .. High type Character_Ranges is array (Pos8 range <>) of Character_Range; function To_Set (Ranges : in Character_Ranges) return Character_Set; function To_Set (Span : in Character_Range) return Character_Set; ---------------------------------- -- Operations on Character Sets -- ---------------------------------- function "=" (Left, Right : in Character_Set) return Boolean; 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; function Is_In (Element : in Character; Set : in Character_Set) return Boolean; function Is_Subset (Elements : in Character_Set; Set : in Character_Set) return Boolean; function "<=" (Left : in Character_Set; Right : in Character_Set) return Boolean renames Is_Subset; -- Alternative representation for a set of character values subtype Character_Sequence is AVR_String; function To_Set (Sequence : in Character_Sequence) return Character_Set; function To_Set (Singleton : in Character) return Character_Set; ------------------------------------ -- Character Mapping Declarations -- ------------------------------------ type Character_Mapping is private; -- Representation for a character to character mapping: function Value (Map : in Character_Mapping; Element : in Character) return Character; Identity : constant Character_Mapping; ---------------------------- -- Operations on Mappings -- ---------------------------- function To_Mapping (From, To : in Character_Sequence) return Character_Mapping; end AVR.Strings.Maps;
The following declarations are omitted from the package:
function To_Ranges (Set : in Character_Set) return Character_Ranges; function To_Sequence (Set : in Character_Set) return Character_Sequence; function To_Domain (Map : in Character_Mapping) return Character_Sequence; function To_Range (Map : in Character_Mapping) return Character_Sequence; type Character_Mapping_Function is access function (From : in Character) return Character;