* gcc.c-torture/execute/20020307-1.c: New test.
[official-gcc.git] / gcc / ada / a-stwifi.ads
bloba4bf2d9bddda0b65ec7f29c322aeb2933a66ae7d
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUNTIME COMPONENTS --
4 -- --
5 -- A D A . S T R I N G S . W I D E _ F I X E D --
6 -- --
7 -- S p e c --
8 -- --
9 -- $Revision: 1.11 $ --
10 -- --
11 -- This specification is adapted from the Ada Reference Manual for use with --
12 -- GNAT. In accordance with the copyright of that document, you can freely --
13 -- copy and modify this specification, provided that if you redistribute a --
14 -- modified version, any changes that you have made are clearly indicated. --
15 -- --
16 ------------------------------------------------------------------------------
19 with Ada.Strings.Wide_Maps;
21 package Ada.Strings.Wide_Fixed is
22 pragma Preelaborate (Wide_Fixed);
24 -------------------------------------------------------------------
25 -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
26 -------------------------------------------------------------------
28 procedure Move
29 (Source : in Wide_String;
30 Target : out Wide_String;
31 Drop : in Truncation := Error;
32 Justify : in Alignment := Left;
33 Pad : in Wide_Character := Ada.Strings.Wide_Space);
35 ------------------------
36 -- Search Subprograms --
37 ------------------------
39 function Index
40 (Source : in Wide_String;
41 Pattern : in Wide_String;
42 Going : in Direction := Forward;
43 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
44 return Natural;
46 function Index
47 (Source : in Wide_String;
48 Pattern : in Wide_String;
49 Going : in Direction := Forward;
50 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
51 return Natural;
53 function Index
54 (Source : in Wide_String;
55 Set : in Wide_Maps.Wide_Character_Set;
56 Test : in Membership := Inside;
57 Going : in Direction := Forward)
58 return Natural;
60 function Index_Non_Blank
61 (Source : in Wide_String;
62 Going : in Direction := Forward)
63 return Natural;
65 function Count
66 (Source : in Wide_String;
67 Pattern : in Wide_String;
68 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
69 return Natural;
71 function Count
72 (Source : in Wide_String;
73 Pattern : in Wide_String;
74 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
75 return Natural;
77 function Count
78 (Source : in Wide_String;
79 Set : in Wide_Maps.Wide_Character_Set)
80 return Natural;
82 procedure Find_Token
83 (Source : in Wide_String;
84 Set : in Wide_Maps.Wide_Character_Set;
85 Test : in Membership;
86 First : out Positive;
87 Last : out Natural);
89 -----------------------------------------
90 -- Wide_String Translation Subprograms --
91 -----------------------------------------
93 function Translate
94 (Source : in Wide_String;
95 Mapping : in Wide_Maps.Wide_Character_Mapping)
96 return Wide_String;
98 procedure Translate
99 (Source : in out Wide_String;
100 Mapping : in Wide_Maps.Wide_Character_Mapping);
102 function Translate
103 (Source : in Wide_String;
104 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
105 return Wide_String;
107 procedure Translate
108 (Source : in out Wide_String;
109 Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
111 --------------------------------------------
112 -- Wide_String Transformation Subprograms --
113 --------------------------------------------
115 function Replace_Slice
116 (Source : in Wide_String;
117 Low : in Positive;
118 High : in Natural;
119 By : in Wide_String)
120 return Wide_String;
122 procedure Replace_Slice
123 (Source : in out Wide_String;
124 Low : in Positive;
125 High : in Natural;
126 By : in Wide_String;
127 Drop : in Truncation := Error;
128 Justify : in Alignment := Left;
129 Pad : in Wide_Character := Ada.Strings.Wide_Space);
131 function Insert
132 (Source : in Wide_String;
133 Before : in Positive;
134 New_Item : in Wide_String)
135 return Wide_String;
137 procedure Insert
138 (Source : in out Wide_String;
139 Before : in Positive;
140 New_Item : in Wide_String;
141 Drop : in Truncation := Error);
143 function Overwrite
144 (Source : in Wide_String;
145 Position : in Positive;
146 New_Item : in Wide_String)
147 return Wide_String;
149 procedure Overwrite
150 (Source : in out Wide_String;
151 Position : in Positive;
152 New_Item : in Wide_String;
153 Drop : in Truncation := Right);
155 function Delete
156 (Source : in Wide_String;
157 From : in Positive;
158 Through : in Natural)
159 return Wide_String;
161 procedure Delete
162 (Source : in out Wide_String;
163 From : in Positive;
164 Through : in Natural;
165 Justify : in Alignment := Left;
166 Pad : in Wide_Character := Ada.Strings.Wide_Space);
168 --------------------------------------
169 -- Wide_String Selector Subprograms --
170 --------------------------------------
172 function Trim
173 (Source : in Wide_String;
174 Side : in Trim_End)
175 return Wide_String;
177 procedure Trim
178 (Source : in out Wide_String;
179 Side : in Trim_End;
180 Justify : in Alignment := Left;
181 Pad : in Wide_Character := Wide_Space);
183 function Trim
184 (Source : in Wide_String;
185 Left : in Wide_Maps.Wide_Character_Set;
186 Right : in Wide_Maps.Wide_Character_Set)
187 return Wide_String;
189 procedure Trim
190 (Source : in out Wide_String;
191 Left : in Wide_Maps.Wide_Character_Set;
192 Right : in Wide_Maps.Wide_Character_Set;
193 Justify : in Alignment := Ada.Strings.Left;
194 Pad : in Wide_Character := Ada.Strings.Wide_Space);
196 function Head
197 (Source : in Wide_String;
198 Count : in Natural;
199 Pad : in Wide_Character := Ada.Strings.Wide_Space)
200 return Wide_String;
202 procedure Head
203 (Source : in out Wide_String;
204 Count : in Natural;
205 Justify : in Alignment := Left;
206 Pad : in Wide_Character := Ada.Strings.Wide_Space);
208 function Tail
209 (Source : in Wide_String;
210 Count : in Natural;
211 Pad : in Wide_Character := Ada.Strings.Wide_Space)
212 return Wide_String;
214 procedure Tail
215 (Source : in out Wide_String;
216 Count : in Natural;
217 Justify : in Alignment := Left;
218 Pad : in Wide_Character := Ada.Strings.Wide_Space);
220 ---------------------------------------
221 -- Wide_String Constructor Functions --
222 ---------------------------------------
224 function "*"
225 (Left : in Natural;
226 Right : in Wide_Character)
227 return Wide_String;
229 function "*"
230 (Left : in Natural;
231 Right : in Wide_String)
232 return Wide_String;
234 end Ada.Strings.Wide_Fixed;