Menu

AVR.Strings.Maps Log in to Edit

AVR.Strings.Maps

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;

Omitted Declarations

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;

Related

Wiki: AVR.Strings

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.