|
11.1.3.2. Das Paket Strings.Maps
Das Paket Strings.Maps definiert Typen, Operationen und andere Elemente die für
Zeichensätze und Zeichen-auf-Zeichen-Abbildung benötigt werden.
Typ- bzw. Objektdefinitionen:
1) Character_Set - Typ zur Definition von Zeichensätzen.
2) Character_Range - Typ zur Definition von Zeichenbereichen. In den Komponenten
Low und High werden die Grenzen (Zeichen) eingetragen.
3) Character_Ranges - Typ zur Zusammenfassung mehrerer Zeichenbereiche (Character_Range)
in einer Reihung.
4) Character_Sequence - String-Typ zur Aufnahme aller Zeichen aus einem Zeichensatz
sowie zur Identifizierung der Domain und des Bereichs einer Abbildung.
5) Null_Set - Konstante, welche einen leeren Zeichensatz repräsentiert.
6) Character_Mapping - Typ zur Definition von Zeichen-auf-Zeichen-Abbildungen.
7) Character_Mapping_Function - Zeiger-Typ, der auf Funktionen zur Zeichen-auf-Zeichen-Abbildung
zeigt. Dieser Typ wird vor allem bei der Abbildung großer Bereiche (z. B.
bei Wide_Character-Zeichensätzen) verwendet.
8) Identity - Konstante zur Repräsentation einer Zeichen-auf-Zeichen-Abbildung,
bei der jedes Zeichen auf sich selbst abgebildet wird.
In dem Paket sind auch Funktionen zur Zeichenkettenbehandlung und für
Zeichen auf Zeichen-Abbildungen vereinbart:
function To_Set (Ranges : in Character_Ranges) return Character_Set; |
Liefert einen Zeichensatz, der die Zeichen der einzelnen Zeichenbereiche aus "Ranges" repräsentiert.
Wenn die Länge der Reihung "Ranges" 0 ist,
wird ein leerer Zeichensatz zurückgegeben.
function To_Set (Span : in Character_Range) return Character_Set; |
Liefert einen Zeichensatz, der die Zeichen des Zeichenbereichs "Span"
repräsentiert.
function To_Ranges (Set : in Character_Set) return Character_Ranges; |
Liefert eine Reihung aus Zeichenbereichen des Zeichensatzes "Set", wobei
alle in einem Block stehenden Zeichen zu einem Zeichenbereich zusammengefaßt
werden. Wenn
der Zeichensatz leer ist wird eine leere Reihung zurückgegeben.
function "=" (Left, Right : in Character_Set) return Boolean; |
Liefert "Wahr", wenn "Left" und "Right" identische
Zeichensätze repräsentieren, ansonsten wird "Falsch" zurückgegeben.
function "not" (Right : in Character_Set) return Character_Set; |
Liefert einen Zeichensatz, der alle die Zeichen enthält, die nicht in "Right"
enthalten sind.
function "and" (Left, Right : in Character_Set) return Character_Set; |
Liefert einen Zeichensatz, der die Zeichen enthält, die sowohl in "Left"
als auch in "Right" enthalten sind.
function "or" (Left, Right : in Character_Set) return Character_Set; |
Liefert einen Zeichensatz, der alle Zeichen aus "Left" und "Right"
enthält.
function "xor" (Left, Right : in Character_Set) return Character_Set; |
Liefert einen Zeichensatz, der alle Zeichen enthält, die entweder in "Left"
oder in "Right" enthalten sind, aber nicht in beiden gleichzeitig.
function "-" (Left, Right : in Character_Set) return Character_Set; |
Liefert einen Zeichensatz, der die Zeichen aus "Left" enthält,
aber nicht die aus "Right", d. h. die Zeichen, die sowohl in "Left" als
auch in "Right" enthalten
sind im zurückgegebenen Zeichensatz nicht enthalten.
function Is_In (Element : in Character; Set : in Character_Set) return Boolean; |
Liefert "Wahr", wenn das Zeichen "Element" im Zeichensatz
"Set" enthalten ist.
function Is_Subset (Elements : in Character_Set; Set : in Character_Set) return Boolean; |
Liefert "Wahr", wenn alle Zeichen aus dem Zeichensatz "Elements"
im Zeichensatz "Set" enthalten sind, "Elements" also ein Teilzeichensatz
von "Set"
ist.
function "<=" (Left : in Character_Set; Right : in Character_Set) return Boolean renames Is_Subset; |
"<=" ist ein andere Name für die Funktion Is_Subset.
function To_Set (Sequence : in Character_Sequence) return Character_Set; |
Liefert einen Zeichensatz, der alle Zeichen repräsentiert, die in der Zeichenkette
"Sequence" enthalten sind. Mehrfach vorkommende Zeichen werden dabei ignoriert.
function To_Set (Singleton : in Character) return Character_Set; |
Liefert einen Zeichensatz, der das Zeichen "Singleton" repräsentiert.
function To_Sequence (Set : in Character_Set) return Character_Sequence; |
Liefert eine Zeichenkette vom Typ Character_Sequence, die alle Zeichen des Zeichensatzes
"Set", in aufsteigender Reihenfolge, enthält.
Spezifikation
des Paketes "Ada.Strings.Maps"
|