(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:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch