1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . S T R I N G S . W I D E _ W I D E _ 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 ------------------------------------------------------------------------------
16 with Ada.Strings.Wide_Wide_Maps;
18 package Ada.Strings.Wide_Wide_Fixed is
21 ------------------------------------------------------------------------
22 -- Copy Procedure for Wide_Wide_Strings of Possibly Different Lengths --
23 ------------------------------------------------------------------------
26 (Source : Wide_Wide_String;
27 Target : out Wide_Wide_String;
28 Drop : Truncation := Error;
29 Justify : Alignment := Left;
30 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
32 ------------------------
33 -- Search Subprograms --
34 ------------------------
37 (Source : Wide_Wide_String;
38 Pattern : Wide_Wide_String;
39 Going : Direction := Forward;
40 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
41 Wide_Wide_Maps.Identity) return Natural;
44 (Source : Wide_Wide_String;
45 Pattern : Wide_Wide_String;
46 Going : Direction := Forward;
47 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
51 (Source : Wide_Wide_String;
52 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
53 Test : Membership := Inside;
54 Going : Direction := Forward) return Natural;
57 (Source : Wide_Wide_String;
58 Pattern : Wide_Wide_String;
60 Going : Direction := Forward;
61 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
62 Wide_Wide_Maps.Identity)
64 pragma Ada_05 (Index);
67 (Source : Wide_Wide_String;
68 Pattern : Wide_Wide_String;
70 Going : Direction := Forward;
71 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
73 pragma Ada_05 (Index);
76 (Source : Wide_Wide_String;
77 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
79 Test : Membership := Inside;
80 Going : Direction := Forward) return Natural;
81 pragma Ada_05 (Index);
83 function Index_Non_Blank
84 (Source : Wide_Wide_String;
85 Going : Direction := Forward) return Natural;
87 function Index_Non_Blank
88 (Source : Wide_Wide_String;
90 Going : Direction := Forward) return Natural;
91 pragma Ada_05 (Index_Non_Blank);
94 (Source : Wide_Wide_String;
95 Pattern : Wide_Wide_String;
96 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
97 Wide_Wide_Maps.Identity)
101 (Source : Wide_Wide_String;
102 Pattern : Wide_Wide_String;
103 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
107 (Source : Wide_Wide_String;
108 Set : Wide_Wide_Maps.Wide_Wide_Character_Set) return Natural;
111 (Source : Wide_Wide_String;
112 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
114 First : out Positive;
117 ----------------------------------------------
118 -- Wide_Wide_String Translation Subprograms --
119 ----------------------------------------------
122 (Source : Wide_Wide_String;
123 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
124 return Wide_Wide_String;
127 (Source : in out Wide_Wide_String;
128 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping);
131 (Source : Wide_Wide_String;
132 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
133 return Wide_Wide_String;
136 (Source : in out Wide_Wide_String;
137 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
139 -------------------------------------------------
140 -- Wide_Wide_String Transformation Subprograms --
141 -------------------------------------------------
143 function Replace_Slice
144 (Source : Wide_Wide_String;
147 By : Wide_Wide_String) return Wide_Wide_String;
149 procedure Replace_Slice
150 (Source : in out Wide_Wide_String;
153 By : Wide_Wide_String;
154 Drop : Truncation := Error;
155 Justify : Alignment := Left;
156 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
159 (Source : Wide_Wide_String;
161 New_Item : Wide_Wide_String) return Wide_Wide_String;
164 (Source : in out Wide_Wide_String;
166 New_Item : Wide_Wide_String;
167 Drop : Truncation := Error);
170 (Source : Wide_Wide_String;
172 New_Item : Wide_Wide_String) return Wide_Wide_String;
175 (Source : in out Wide_Wide_String;
177 New_Item : Wide_Wide_String;
178 Drop : Truncation := Right);
181 (Source : Wide_Wide_String;
183 Through : Natural) return Wide_Wide_String;
186 (Source : in out Wide_Wide_String;
189 Justify : Alignment := Left;
190 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
192 -------------------------------------------
193 -- Wide_Wide_String Selector Subprograms --
194 -------------------------------------------
197 (Source : Wide_Wide_String;
198 Side : Trim_End) return Wide_Wide_String;
201 (Source : in out Wide_Wide_String;
203 Justify : Alignment := Left;
204 Pad : Wide_Wide_Character := Wide_Wide_Space);
207 (Source : Wide_Wide_String;
208 Left : Wide_Wide_Maps.Wide_Wide_Character_Set;
209 Right : Wide_Wide_Maps.Wide_Wide_Character_Set)
210 return Wide_Wide_String;
213 (Source : in out Wide_Wide_String;
214 Left : Wide_Wide_Maps.Wide_Wide_Character_Set;
215 Right : Wide_Wide_Maps.Wide_Wide_Character_Set;
216 Justify : Alignment := Ada.Strings.Left;
217 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
220 (Source : Wide_Wide_String;
222 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space)
223 return Wide_Wide_String;
226 (Source : in out Wide_Wide_String;
228 Justify : Alignment := Left;
229 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
232 (Source : Wide_Wide_String;
234 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space)
235 return Wide_Wide_String;
238 (Source : in out Wide_Wide_String;
240 Justify : Alignment := Left;
241 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
243 --------------------------------------------
244 -- Wide_Wide_String Constructor Functions --
245 --------------------------------------------
249 Right : Wide_Wide_Character) return Wide_Wide_String;
253 Right : Wide_Wide_String) return Wide_Wide_String;
255 end Ada.Strings.Wide_Wide_Fixed;