(3)
with Ada.Strings.Maps;
package Ada.Strings.Unbounded is
pragma Preelaborate(Unbounded);
(4)
type Unbounded_String is private;
(5)
Null_Unbounded_String : constant Unbounded_String;
(6)
function Length (Source : in Unbounded_String) return Natural;
(7)
type String_Access is access all String;
procedure Free (X : in out String_Access);
(8)
-- Conversion, Concatenation, and Selection functions
(9)
function To_Unbounded_String (Source : in String)
return Unbounded_String;
(10)
function To_Unbounded_String (Length : in Natural)
return Unbounded_String;
(11)
function To_String (Source : in Unbounded_String) return String;
(12)
procedure Append (Source : in out Unbounded_String;
New_Item : in Unbounded_String);
(13)
procedure Append (Source : in out Unbounded_String;
New_Item : in String);
(14)
procedure Append (Source : in out Unbounded_String;
New_Item : in Character);
(15)
function "&" (Left, Right : in Unbounded_String)
return Unbounded_String;
(16)
function "&" (Left : in Unbounded_String; Right : in String)
return Unbounded_String;
(17)
function "&" (Left : in String; Right : in Unbounded_String)
return Unbounded_String;
(18)
function "&" (Left : in Unbounded_String; Right : in Character)
return Unbounded_String;
(19)
function "&" (Left : in Character; Right : in Unbounded_String)
return Unbounded_String;
(20)
function Element (Source : in Unbounded_String;
Index : in Positive)
return Character;
(21)
procedure Replace_Element (Source : in out Unbounded_String;
Index : in Positive;
By : in Character);
(22)
function Slice (Source : in Unbounded_String;
Low : in Positive;
High : in Natural)
return String;
(23)
function "=" (Left, Right : in Unbounded_String) return Boolean;
(24)
function "=" (Left : in Unbounded_String; Right : in String)
return Boolean;
(25)
function "=" (Left : in String; Right : in Unbounded_String)
return Boolean;
(26)
function "<" (Left, Right : in Unbounded_String) return Boolean;
(27)
function "<" (Left : in Unbounded_String; Right : in String)
return Boolean;
(28)
function "<" (Left : in String; Right : in Unbounded_String)
return Boolean;
(29)
function "<=" (Left, Right : in Unbounded_String) return Boolean;
(30)
function "<=" (Left : in Unbounded_String; Right : in String)
return Boolean;
(31)
function "<=" (Left : in String; Right : in Unbounded_String)
return Boolean;
(32)
function ">" (Left, Right : in Unbounded_String) return Boolean;
(33)
function ">" (Left : in Unbounded_String; Right : in String)
return Boolean;
(34)
function ">" (Left : in String; Right : in Unbounded_String)
return Boolean;
(35)
function ">=" (Left, Right : in Unbounded_String) return Boolean;
(36)
function ">=" (Left : in Unbounded_String; Right : in String)
return Boolean;
(37)
function ">=" (Left : in String; Right : in Unbounded_String)
return Boolean;
(38)
-- Search subprograms
(39)
function Index (Source : in Unbounded_String;
Pattern : in String;
Going : in Direction := Forward;
Mapping : in Maps.Character_Mapping
:= Maps.Identity)
return Natural;
(40)
function Index (Source : in Unbounded_String;
Pattern : in String;
Going : in Direction := Forward;
Mapping : in Maps.Character_Mapping_Function)
return Natural;
(41)
function Index (Source : in Unbounded_String;
Set : in Maps.Character_Set;
Test : in Membership := Inside;
Going : in Direction := Forward) return Natural;
(42)
function Index_Non_Blank (Source : in Unbounded_String;
Going : in Direction := Forward)
return Natural;
(43)
function Count (Source : in Unbounded_String;
Pattern : in String;
Mapping : in Maps.Character_Mapping
:= Maps.Identity)
return Natural;
(44)
function Count (Source : in Unbounded_String;
Pattern : in String;
Mapping : in Maps.Character_Mapping_Function)
return Natural;
(45)
function Count (Source : in Unbounded_String;
Set : in Maps.Character_Set)
return Natural;
(46)
procedure Find_Token (Source : in Unbounded_String;
Set : in Maps.Character_Set;
Test : in Membership;
First : out Positive;
Last : out Natural);
(47)
-- String translation subprograms
(48)
function Translate (Source : in Unbounded_String;
Mapping : in Maps.Character_Mapping)
return Unbounded_String;
(49)
procedure Translate (Source : in out Unbounded_String;
Mapping : in Maps.Character_Mapping);
(50)
function Translate (Source : in Unbounded_String;
Mapping : in Maps.Character_Mapping_Function)
return Unbounded_String;
(51)
procedure Translate (Source : in out Unbounded_String;
Mapping : in Maps.Character_Mapping_Function);
(52)
-- String transformation subprograms
(53)
function Replace_Slice (Source : in Unbounded_String;
Low : in Positive;
High : in Natural;
By : in String)
return Unbounded_String;
(54)
procedure Replace_Slice (Source : in out Unbounded_String;
Low : in Positive;
High : in Natural;
By : in String);
(55)
function Insert (Source : in Unbounded_String;
Before : in Positive;
New_Item : in String)
return Unbounded_String;
(56)
procedure Insert (Source : in out Unbounded_String;
Before : in Positive;
New_Item : in String);
(57)
function Overwrite (Source : in Unbounded_String;
Position : in Positive;
New_Item : in String)
return Unbounded_String;
(58)
procedure Overwrite (Source : in out Unbounded_String;
Position : in Positive;
New_Item : in String);
(59)
function Delete (Source : in Unbounded_String;
From : in Positive;
Through : in Natural)
return Unbounded_String;
(60)
procedure Delete (Source : in out Unbounded_String;
From : in Positive;
Through : in Natural);
(61)
function Trim (Source : in Unbounded_String;
Side : in Trim_End)
return Unbounded_String;
(62)
procedure Trim (Source : in out Unbounded_String;
Side : in Trim_End);
(63)
function Trim (Source : in Unbounded_String;
Left : in Maps.Character_Set;
Right : in Maps.Character_Set)
return Unbounded_String;
(64)
procedure Trim (Source : in out Unbounded_String;
Left : in Maps.Character_Set;
Right : in Maps.Character_Set);
(65)
function Head (Source : in Unbounded_String;
Count : in Natural;
Pad : in Character := Space)
return Unbounded_String;
(66)
procedure Head (Source : in out Unbounded_String;
Count : in Natural;
Pad : in Character := Space);
(67)
function Tail (Source : in Unbounded_String;
Count : in Natural;
Pad : in Character := Space)
return Unbounded_String;
(68)
procedure Tail (Source : in out Unbounded_String;
Count : in Natural;
Pad : in Character := Space);
(69)
function "*" (Left : in Natural;
Right : in Character)
return Unbounded_String;
(70)
function "*" (Left : in Natural;
Right : in String)
return Unbounded_String;
(71)
function "*" (Left : in Natural;
Right : in Unbounded_String)
return Unbounded_String;
(72)
private
... -- not specified by the language
end Ada.Strings.Unbounded;
-- Email comments, additions, corrections, gripes, kudos, etc. to: