* arm.c (FL_WBUF): Define.
[official-gcc.git] / gcc / ada / a-stzfix.ads
blobb7f3ae7719421df640566c5ebac9982f69f08c7a
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUNTIME COMPONENTS --
4 -- --
5 -- A D A . S T R I N G S . W I D E _ W I D E _ F I X E D --
6 -- --
7 -- S p e c --
8 -- --
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. --
13 -- --
14 ------------------------------------------------------------------------------
17 with Ada.Strings.Wide_Wide_Maps;
19 package Ada.Strings.Wide_Wide_Fixed is
20 pragma Preelaborate (Wide_Wide_Fixed);
22 ------------------------------------------------------------------------
23 -- Copy Procedure for Wide_Wide_Strings of Possibly Different Lengths --
24 ------------------------------------------------------------------------
26 procedure Move
27 (Source : Wide_Wide_String;
28 Target : out Wide_Wide_String;
29 Drop : Truncation := Error;
30 Justify : Alignment := Left;
31 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
33 ------------------------
34 -- Search Subprograms --
35 ------------------------
37 function Index
38 (Source : Wide_Wide_String;
39 Pattern : Wide_Wide_String;
40 Going : Direction := Forward;
41 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
42 Wide_Wide_Maps.Identity) return Natural;
44 function Index
45 (Source : Wide_Wide_String;
46 Pattern : Wide_Wide_String;
47 Going : Direction := Forward;
48 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
49 return Natural;
51 function Index
52 (Source : Wide_Wide_String;
53 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
54 Test : Membership := Inside;
55 Going : Direction := Forward) return Natural;
57 function Index
58 (Source : Wide_Wide_String;
59 Pattern : Wide_Wide_String;
60 From : Positive;
61 Going : Direction := Forward;
62 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
63 Wide_Wide_Maps.Identity)
64 return Natural;
65 pragma Ada_05 (Index);
67 function Index
68 (Source : Wide_Wide_String;
69 Pattern : Wide_Wide_String;
70 From : Positive;
71 Going : Direction := Forward;
72 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
73 return Natural;
74 pragma Ada_05 (Index);
76 function Index
77 (Source : Wide_Wide_String;
78 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
79 From : Positive;
80 Test : Membership := Inside;
81 Going : Direction := Forward) return Natural;
82 pragma Ada_05 (Index);
84 function Index_Non_Blank
85 (Source : Wide_Wide_String;
86 Going : Direction := Forward) return Natural;
88 function Index_Non_Blank
89 (Source : Wide_Wide_String;
90 From : Positive;
91 Going : Direction := Forward) return Natural;
92 pragma Ada_05 (Index_Non_Blank);
94 function Count
95 (Source : Wide_Wide_String;
96 Pattern : Wide_Wide_String;
97 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
98 Wide_Wide_Maps.Identity)
99 return Natural;
101 function Count
102 (Source : Wide_Wide_String;
103 Pattern : Wide_Wide_String;
104 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
105 return Natural;
107 function Count
108 (Source : Wide_Wide_String;
109 Set : Wide_Wide_Maps.Wide_Wide_Character_Set) return Natural;
111 procedure Find_Token
112 (Source : Wide_Wide_String;
113 Set : Wide_Wide_Maps.Wide_Wide_Character_Set;
114 Test : Membership;
115 First : out Positive;
116 Last : out Natural);
118 ----------------------------------------------
119 -- Wide_Wide_String Translation Subprograms --
120 ----------------------------------------------
122 function Translate
123 (Source : Wide_Wide_String;
124 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
125 return Wide_Wide_String;
127 procedure Translate
128 (Source : in out Wide_Wide_String;
129 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping);
131 function Translate
132 (Source : Wide_Wide_String;
133 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
134 return Wide_Wide_String;
136 procedure Translate
137 (Source : in out Wide_Wide_String;
138 Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
140 -------------------------------------------------
141 -- Wide_Wide_String Transformation Subprograms --
142 -------------------------------------------------
144 function Replace_Slice
145 (Source : Wide_Wide_String;
146 Low : Positive;
147 High : Natural;
148 By : Wide_Wide_String) return Wide_Wide_String;
150 procedure Replace_Slice
151 (Source : in out Wide_Wide_String;
152 Low : Positive;
153 High : Natural;
154 By : Wide_Wide_String;
155 Drop : Truncation := Error;
156 Justify : Alignment := Left;
157 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
159 function Insert
160 (Source : Wide_Wide_String;
161 Before : Positive;
162 New_Item : Wide_Wide_String) return Wide_Wide_String;
164 procedure Insert
165 (Source : in out Wide_Wide_String;
166 Before : Positive;
167 New_Item : Wide_Wide_String;
168 Drop : Truncation := Error);
170 function Overwrite
171 (Source : Wide_Wide_String;
172 Position : Positive;
173 New_Item : Wide_Wide_String) return Wide_Wide_String;
175 procedure Overwrite
176 (Source : in out Wide_Wide_String;
177 Position : Positive;
178 New_Item : Wide_Wide_String;
179 Drop : Truncation := Right);
181 function Delete
182 (Source : Wide_Wide_String;
183 From : Positive;
184 Through : Natural) return Wide_Wide_String;
186 procedure Delete
187 (Source : in out Wide_Wide_String;
188 From : Positive;
189 Through : Natural;
190 Justify : Alignment := Left;
191 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
193 -------------------------------------------
194 -- Wide_Wide_String Selector Subprograms --
195 -------------------------------------------
197 function Trim
198 (Source : Wide_Wide_String;
199 Side : Trim_End) return Wide_Wide_String;
201 procedure Trim
202 (Source : in out Wide_Wide_String;
203 Side : Trim_End;
204 Justify : Alignment := Left;
205 Pad : Wide_Wide_Character := Wide_Wide_Space);
207 function Trim
208 (Source : Wide_Wide_String;
209 Left : Wide_Wide_Maps.Wide_Wide_Character_Set;
210 Right : Wide_Wide_Maps.Wide_Wide_Character_Set)
211 return Wide_Wide_String;
213 procedure Trim
214 (Source : in out Wide_Wide_String;
215 Left : Wide_Wide_Maps.Wide_Wide_Character_Set;
216 Right : Wide_Wide_Maps.Wide_Wide_Character_Set;
217 Justify : Alignment := Ada.Strings.Left;
218 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
220 function Head
221 (Source : Wide_Wide_String;
222 Count : Natural;
223 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space)
224 return Wide_Wide_String;
226 procedure Head
227 (Source : in out Wide_Wide_String;
228 Count : Natural;
229 Justify : Alignment := Left;
230 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
232 function Tail
233 (Source : Wide_Wide_String;
234 Count : Natural;
235 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space)
236 return Wide_Wide_String;
238 procedure Tail
239 (Source : in out Wide_Wide_String;
240 Count : Natural;
241 Justify : Alignment := Left;
242 Pad : Wide_Wide_Character := Ada.Strings.Wide_Wide_Space);
244 --------------------------------------------
245 -- Wide_Wide_String Constructor Functions --
246 --------------------------------------------
248 function "*"
249 (Left : Natural;
250 Right : Wide_Wide_Character) return Wide_Wide_String;
252 function "*"
253 (Left : Natural;
254 Right : Wide_Wide_String) return Wide_Wide_String;
256 end Ada.Strings.Wide_Wide_Fixed;