diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-02 13:55:47 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-02 13:55:47 +0000 |
commit | 1fac938ee5fb71eb038b3b33e393a02d5ea33190 (patch) | |
tree | 2984031fa75d4e716ac1f562efe5ae818a291ca8 /gcc/ada/a-stwifi.ads | |
parent | e6e7bf38fd3e54eef6e896049ef2d52135eab3d0 (diff) | |
download | gcc-1fac938ee5fb71eb038b3b33e393a02d5ea33190.tar.gz |
New Language: Ada
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45953 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-stwifi.ads')
-rw-r--r-- | gcc/ada/a-stwifi.ads | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/gcc/ada/a-stwifi.ads b/gcc/ada/a-stwifi.ads new file mode 100644 index 00000000000..a4bf2d9bddd --- /dev/null +++ b/gcc/ada/a-stwifi.ads @@ -0,0 +1,234 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUNTIME COMPONENTS -- +-- -- +-- A D A . S T R I N G S . W I D E _ F I X E D -- +-- -- +-- S p e c -- +-- -- +-- $Revision: 1.11 $ -- +-- -- +-- This specification is adapted from the Ada Reference Manual for use with -- +-- GNAT. In accordance with the copyright of that document, you can freely -- +-- copy and modify this specification, provided that if you redistribute a -- +-- modified version, any changes that you have made are clearly indicated. -- +-- -- +------------------------------------------------------------------------------ + + +with Ada.Strings.Wide_Maps; + +package Ada.Strings.Wide_Fixed is +pragma Preelaborate (Wide_Fixed); + + ------------------------------------------------------------------- + -- Copy Procedure for Wide_Strings of Possibly Different Lengths -- + ------------------------------------------------------------------- + + procedure Move + (Source : in Wide_String; + Target : out Wide_String; + Drop : in Truncation := Error; + Justify : in Alignment := Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + ------------------------ + -- Search Subprograms -- + ------------------------ + + function Index + (Source : in Wide_String; + Pattern : in Wide_String; + Going : in Direction := Forward; + Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity) + return Natural; + + function Index + (Source : in Wide_String; + Pattern : in Wide_String; + Going : in Direction := Forward; + Mapping : in Wide_Maps.Wide_Character_Mapping_Function) + return Natural; + + function Index + (Source : in Wide_String; + Set : in Wide_Maps.Wide_Character_Set; + Test : in Membership := Inside; + Going : in Direction := Forward) + return Natural; + + function Index_Non_Blank + (Source : in Wide_String; + Going : in Direction := Forward) + return Natural; + + function Count + (Source : in Wide_String; + Pattern : in Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity) + return Natural; + + function Count + (Source : in Wide_String; + Pattern : in Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping_Function) + return Natural; + + function Count + (Source : in Wide_String; + Set : in Wide_Maps.Wide_Character_Set) + return Natural; + + procedure Find_Token + (Source : in Wide_String; + Set : in Wide_Maps.Wide_Character_Set; + Test : in Membership; + First : out Positive; + Last : out Natural); + + ----------------------------------------- + -- Wide_String Translation Subprograms -- + ----------------------------------------- + + function Translate + (Source : in Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping) + return Wide_String; + + procedure Translate + (Source : in out Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping); + + function Translate + (Source : in Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping_Function) + return Wide_String; + + procedure Translate + (Source : in out Wide_String; + Mapping : in Wide_Maps.Wide_Character_Mapping_Function); + + -------------------------------------------- + -- Wide_String Transformation Subprograms -- + -------------------------------------------- + + function Replace_Slice + (Source : in Wide_String; + Low : in Positive; + High : in Natural; + By : in Wide_String) + return Wide_String; + + procedure Replace_Slice + (Source : in out Wide_String; + Low : in Positive; + High : in Natural; + By : in Wide_String; + Drop : in Truncation := Error; + Justify : in Alignment := Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + function Insert + (Source : in Wide_String; + Before : in Positive; + New_Item : in Wide_String) + return Wide_String; + + procedure Insert + (Source : in out Wide_String; + Before : in Positive; + New_Item : in Wide_String; + Drop : in Truncation := Error); + + function Overwrite + (Source : in Wide_String; + Position : in Positive; + New_Item : in Wide_String) + return Wide_String; + + procedure Overwrite + (Source : in out Wide_String; + Position : in Positive; + New_Item : in Wide_String; + Drop : in Truncation := Right); + + function Delete + (Source : in Wide_String; + From : in Positive; + Through : in Natural) + return Wide_String; + + procedure Delete + (Source : in out Wide_String; + From : in Positive; + Through : in Natural; + Justify : in Alignment := Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + -------------------------------------- + -- Wide_String Selector Subprograms -- + -------------------------------------- + + function Trim + (Source : in Wide_String; + Side : in Trim_End) + return Wide_String; + + procedure Trim + (Source : in out Wide_String; + Side : in Trim_End; + Justify : in Alignment := Left; + Pad : in Wide_Character := Wide_Space); + + function Trim + (Source : in Wide_String; + Left : in Wide_Maps.Wide_Character_Set; + Right : in Wide_Maps.Wide_Character_Set) + return Wide_String; + + procedure Trim + (Source : in out Wide_String; + Left : in Wide_Maps.Wide_Character_Set; + Right : in Wide_Maps.Wide_Character_Set; + Justify : in Alignment := Ada.Strings.Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + function Head + (Source : in Wide_String; + Count : in Natural; + Pad : in Wide_Character := Ada.Strings.Wide_Space) + return Wide_String; + + procedure Head + (Source : in out Wide_String; + Count : in Natural; + Justify : in Alignment := Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + function Tail + (Source : in Wide_String; + Count : in Natural; + Pad : in Wide_Character := Ada.Strings.Wide_Space) + return Wide_String; + + procedure Tail + (Source : in out Wide_String; + Count : in Natural; + Justify : in Alignment := Left; + Pad : in Wide_Character := Ada.Strings.Wide_Space); + + --------------------------------------- + -- Wide_String Constructor Functions -- + --------------------------------------- + + function "*" + (Left : in Natural; + Right : in Wide_Character) + return Wide_String; + + function "*" + (Left : in Natural; + Right : in Wide_String) + return Wide_String; + +end Ada.Strings.Wide_Fixed; |