1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . S T R I N G S . F I X E D --
9 -- This specification is adapted from the Ada Reference Manual for use with --
10 -- GNAT. In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification, provided that if you redistribute a --
12 -- modified version, any changes that you have made are clearly indicated. --
14 ------------------------------------------------------------------------------
17 with Ada.Strings.Maps;
19 package Ada.Strings.Fixed is
20 pragma Preelaborate (Fixed);
22 --------------------------------------------------------------
23 -- Copy Procedure for Strings of Possibly Different Lengths --
24 --------------------------------------------------------------
29 Drop : Truncation := Error;
30 Justify : Alignment := Left;
31 Pad : Character := Space);
33 ------------------------
34 -- Search Subprograms --
35 ------------------------
40 Going : Direction := Forward;
41 Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
46 Going : Direction := Forward;
47 Mapping : Maps.Character_Mapping_Function) return Natural;
51 Set : Maps.Character_Set;
52 Test : Membership := Inside;
53 Going : Direction := Forward) return Natural;
59 Going : Direction := Forward;
60 Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
61 pragma Ada_05 (Index);
67 Going : Direction := Forward;
68 Mapping : Maps.Character_Mapping_Function) return Natural;
69 pragma Ada_05 (Index);
73 Set : Maps.Character_Set;
75 Test : Membership := Inside;
76 Going : Direction := Forward) return Natural;
77 pragma Ada_05 (Index);
79 function Index_Non_Blank
81 Going : Direction := Forward) return Natural;
83 function Index_Non_Blank
86 Going : Direction := Forward) return Natural;
87 pragma Ada_05 (Index_Non_Blank);
92 Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
97 Mapping : Maps.Character_Mapping_Function) return Natural;
101 Set : Maps.Character_Set) return Natural;
105 Set : Maps.Character_Set;
107 First : out Positive;
110 ------------------------------------
111 -- String Translation Subprograms --
112 ------------------------------------
116 Mapping : Maps.Character_Mapping) return String;
119 (Source : in out String;
120 Mapping : Maps.Character_Mapping);
124 Mapping : Maps.Character_Mapping_Function) return String;
127 (Source : in out String;
128 Mapping : Maps.Character_Mapping_Function);
130 ---------------------------------------
131 -- String Transformation Subprograms --
132 ---------------------------------------
134 function Replace_Slice
138 By : String) return String;
140 procedure Replace_Slice
141 (Source : in out String;
145 Drop : Truncation := Error;
146 Justify : Alignment := Left;
147 Pad : Character := Space);
152 New_Item : String) return String;
155 (Source : in out String;
158 Drop : Truncation := Error);
163 New_Item : String) return String;
166 (Source : in out String;
169 Drop : Truncation := Right);
174 Through : Natural) return String;
177 (Source : in out String;
180 Justify : Alignment := Left;
181 Pad : Character := Space);
183 ---------------------------------
184 -- String Selector Subprograms --
185 ---------------------------------
189 Side : Trim_End) return String;
192 (Source : in out String;
194 Justify : Alignment := Left;
195 Pad : Character := Space);
199 Left : Maps.Character_Set;
200 Right : Maps.Character_Set) return String;
203 (Source : in out String;
204 Left : Maps.Character_Set;
205 Right : Maps.Character_Set;
206 Justify : Alignment := Strings.Left;
207 Pad : Character := Space);
212 Pad : Character := Space) return String;
215 (Source : in out String;
217 Justify : Alignment := Left;
218 Pad : Character := Space);
223 Pad : Character := Space) return String;
226 (Source : in out String;
228 Justify : Alignment := Left;
229 Pad : Character := Space);
231 ----------------------------------
232 -- String Constructor Functions --
233 ----------------------------------
237 Right : Character) return String;
241 Right : String) return String;
243 end Ada.Strings.Fixed;