Ada Programming/Libraries/Ada.Strings.Wide_Wide_Bounded
This language feature is only available from Ada 2005 on.
Ada.Strings.Wide_Wide_Bounded is a unit of the Predefined Language Environment since Ada 2005.
Specification
edit-- Standard Ada library specification -- Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com> -- Copyright (c) 2004-2016 AXE Consultants -- Copyright (c) 2004, 2005, 2006 Ada-Europe -- Copyright (c) 2000 The MITRE Corporation, Inc. -- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc. -- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual -- -------------------------------------------------------------------------with
Ada.Strings.Wide_Wide_Maps;package
Ada.Strings.Wide_Wide_Boundedis
pragma
Preelaborate (Wide_Wide_Bounded);generic
Max : Positive; -- Maximum length of a Bounded_Wide_Wide_Stringpackage
Generic_Bounded_Lengthis
Max_Length :constant
Positive := Max;type
Bounded_Wide_Wide_Stringis
private
; Null_Bounded_Wide_Wide_String :constant
Bounded_Wide_Wide_String;subtype
Length_Rangeis
Naturalrange
0 .. Max_Length;function
Length (Source :in
Bounded_Wide_Wide_String)return
Length_Range; -- Conversion, Concatenation, and Selection functionsfunction
To_Bounded_Wide_Wide_String (Source :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
To_Wide_Wide_String (Source :in
Bounded_Wide_Wide_String)return
Wide_Wide_String;procedure
Set_Bounded_Wide_Wide_String (Target :out
Bounded_Wide_Wide_String; Source :in
Wide_Wide_String; Drop :in
Truncation := Error);function
Append (Left, Right :in
Bounded_Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Append (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Append (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Append (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_Character; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Append (Left :in
Wide_Wide_Character; Right :in
Bounded_Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Append (Source :in
out
Bounded_Wide_Wide_String; New_Item :in
Bounded_Wide_Wide_String; Drop :in
Truncation := Error);procedure
Append (Source :in
out
Bounded_Wide_Wide_String; New_Item :in
Wide_Wide_String; Drop :in
Truncation := Error);procedure
Append (Source :in
out
Bounded_Wide_Wide_String; New_Item :in
Wide_Wide_Character; Drop :in
Truncation := Error);function
"&" (Left, Right :in
Bounded_Wide_Wide_String)return
Bounded_Wide_Wide_String;function
"&" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Bounded_Wide_Wide_String;function
"&" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Bounded_Wide_Wide_String;function
"&" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_Character)return
Bounded_Wide_Wide_String;function
"&" (Left :in
Wide_Wide_Character; Right :in
Bounded_Wide_Wide_String)return
Bounded_Wide_Wide_String;function
Element (Source :in
Bounded_Wide_Wide_String; Index :in
Positive)return
Wide_Wide_Character;procedure
Replace_Element (Source :in
out
Bounded_Wide_Wide_String; Index :in
Positive; By :in
Wide_Wide_Character);function
Slice (Source :in
Bounded_Wide_Wide_String; Low :in
Positive; High :in
Natural)return
Wide_Wide_String;function
Bounded_Slice (Source :in
Bounded_Wide_Wide_String; Low :in
Positive; High :in
Natural)return
Bounded_Wide_Wide_String;procedure
Bounded_Slice (Source :in
Bounded_Wide_Wide_String; Target :out
Bounded_Wide_Wide_String; Low :in
Positive; High :in
Natural);function
"=" (Left, Right :in
Bounded_Wide_Wide_String)return
Boolean;function
"=" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Boolean;function
"=" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Boolean;function
"<" (Left, Right :in
Bounded_Wide_Wide_String)return
Boolean;function
"<" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Boolean;function
"<" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Boolean;function
"<=" (Left, Right :in
Bounded_Wide_Wide_String)return
Boolean;function
"<=" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Boolean;function
"<=" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Boolean;function
">" (Left, Right :in
Bounded_Wide_Wide_String)return
Boolean;function
">" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Boolean;function
">" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Boolean;function
">=" (Left, Right :in
Bounded_Wide_Wide_String)return
Boolean;function
">=" (Left :in
Bounded_Wide_Wide_String; Right :in
Wide_Wide_String)return
Boolean;function
">=" (Left :in
Wide_Wide_String; Right :in
Bounded_Wide_Wide_String)return
Boolean; -- Search subprogramsfunction
Index (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; From :in
Positive; Going :in
Direction := Forward; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping := Wide_Wide_Maps.Identity)return
Natural;function
Index (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; From :in
Positive; Going :in
Direction := Forward; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)return
Natural;function
Index (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; Going :in
Direction := Forward; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping := Wide_Wide_Maps.Identity)return
Natural;function
Index (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; Going :in
Direction := Forward; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)return
Natural;function
Index (Source :in
Bounded_Wide_Wide_String; Set :in
Wide_Wide_Maps.Wide_Wide_Character_Set; From :in
Positive; Test :in
Membership := Inside; Going :in
Direction := Forward)return
Natural;function
Index (Source :in
Bounded_Wide_Wide_String; Set :in
Wide_Wide_Maps.Wide_Wide_Character_Set; Test :in
Membership := Inside; Going :in
Direction := Forward)return
Natural;function
Index_Non_Blank (Source :in
Bounded_Wide_Wide_String; From :in
Positive; Going :in
Direction := Forward)return
Natural;function
Index_Non_Blank (Source :in
Bounded_Wide_Wide_String; Going :in
Direction := Forward)return
Natural;function
Count (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping := Wide_Wide_Maps.Identity)return
Natural;function
Count (Source :in
Bounded_Wide_Wide_String; Pattern :in
Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)return
Natural;function
Count (Source :in
Bounded_Wide_Wide_String; Set :in
Wide_Wide_Maps.Wide_Wide_Character_Set)return
Natural;procedure
Find_Token (Source :in
Bounded_Wide_Wide_String; Set :in
Wide_Wide_Maps.Wide_Wide_Character_Set; Test :in
Membership; First :out
Positive; Last :out
Natural); -- Wide_Wide_String translation subprogramsfunction
Translate (Source :in
Bounded_Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping)return
Bounded_Wide_Wide_String;procedure
Translate (Source :in
out
Bounded_Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping);function
Translate (Source :in
Bounded_Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)return
Bounded_Wide_Wide_String;procedure
Translate (Source :in
out
Bounded_Wide_Wide_String; Mapping :in
Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function); -- Wide_Wide_String transformation subprogramsfunction
Replace_Slice (Source :in
Bounded_Wide_Wide_String; Low :in
Positive; High :in
Natural; By :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Replace_Slice (Source :in
out
Bounded_Wide_Wide_String; Low :in
Positive; High :in
Natural; By :in
Wide_Wide_String; Drop :in
Truncation := Error);function
Insert (Source :in
Bounded_Wide_Wide_String; Before :in
Positive; New_Item :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Insert (Source :in
out
Bounded_Wide_Wide_String; Before :in
Positive; New_Item :in
Wide_Wide_String; Drop :in
Truncation := Error);function
Overwrite (Source :in
Bounded_Wide_Wide_String; Position :in
Positive; New_Item :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Overwrite (Source :in
out
Bounded_Wide_Wide_String; Position :in
Positive; New_Item :in
Wide_Wide_String; Drop :in
Truncation := Error);function
Delete (Source :in
Bounded_Wide_Wide_String; From :in
Positive; Through :in
Natural)return
Bounded_Wide_Wide_String;procedure
Delete (Source :in
out
Bounded_Wide_Wide_String; From :in
Positive; Through :in
Natural); -- Wide_Wide_String selector subprogramsfunction
Trim (Source :in
Bounded_Wide_Wide_String; Side :in
Trim_End)return
Bounded_Wide_Wide_String;procedure
Trim (Source :in
out
Bounded_Wide_Wide_String; Side :in
Trim_End);function
Trim (Source :in
Bounded_Wide_Wide_String; Left :in
Wide_Wide_Maps.Wide_Wide_Character_Set; Right :in
Wide_Wide_Maps.Wide_Wide_Character_Set)return
Bounded_Wide_Wide_String;procedure
Trim (Source :in
out
Bounded_Wide_Wide_String; Left :in
Wide_Wide_Maps.Wide_Wide_Character_Set; Right :in
Wide_Wide_Maps.Wide_Wide_Character_Set);function
Head (Source :in
Bounded_Wide_Wide_String; Count :in
Natural; Pad :in
Wide_Wide_Character := Wide_Wide_Space; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Head (Source :in
out
Bounded_Wide_Wide_String; Count :in
Natural; Pad :in
Wide_Wide_Character := Wide_Wide_Space; Drop :in
Truncation := Error);function
Tail (Source :in
Bounded_Wide_Wide_String; Count :in
Natural; Pad :in
Wide_Wide_Character := Wide_Wide_Space; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;procedure
Tail (Source :in
out
Bounded_Wide_Wide_String; Count :in
Natural; Pad :in
Wide_Wide_Character := Wide_Wide_Space; Drop :in
Truncation := Error); -- Wide_Wide_String constructor subprogramsfunction
"*" (Left :in
Natural; Right :in
Wide_Wide_Character)return
Bounded_Wide_Wide_String;function
"*" (Left :in
Natural; Right :in
Wide_Wide_String)return
Bounded_Wide_Wide_String;function
"*" (Left :in
Natural; Right :in
Bounded_Wide_Wide_String)return
Bounded_Wide_Wide_String;function
Replicate (Count :in
Natural; Item :in
Wide_Wide_Character; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Replicate (Count :in
Natural; Item :in
Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;function
Replicate (Count :in
Natural; Item :in
Bounded_Wide_Wide_String; Drop :in
Truncation := Error)return
Bounded_Wide_Wide_String;private
type
Bounded_Wide_Wide_Stringis
null
record
; Null_Bounded_Wide_Wide_String :constant
Bounded_Wide_Wide_String := (null
record
);end
Generic_Bounded_Length;end
Ada.Strings.Wide_Wide_Bounded;
See also
editWikibook
editExternal examples
edit- Search for examples of
Ada.Strings.Wide_Wide_Bounded
in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Strings.Wide_Wide_Bounded
in: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
editAda 2005
editAda 2012
editOpen-Source Implementations
editFSF GNAT
- Specification: a-stzbou.ads
- Body: a-stzbou.adb
drake
- Specification: strings/a-stzbou.ads