PR target/16201
[official-gcc.git] / gcc / ada / a-stwifi.ads
blob7331db5f543b1c51f9ec6be5d44be642eb84994c
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 -- 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_Maps;
19 package Ada.Strings.Wide_Fixed is
20 pragma Preelaborate (Wide_Fixed);
22 -------------------------------------------------------------------
23 -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
24 -------------------------------------------------------------------
26 procedure Move
27 (Source : in Wide_String;
28 Target : out Wide_String;
29 Drop : in Truncation := Error;
30 Justify : in Alignment := Left;
31 Pad : in Wide_Character := Ada.Strings.Wide_Space);
33 ------------------------
34 -- Search Subprograms --
35 ------------------------
37 function Index
38 (Source : in Wide_String;
39 Pattern : in Wide_String;
40 Going : in Direction := Forward;
41 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
42 return Natural;
44 function Index
45 (Source : in Wide_String;
46 Pattern : in Wide_String;
47 Going : in Direction := Forward;
48 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
49 return Natural;
51 function Index
52 (Source : in Wide_String;
53 Set : in Wide_Maps.Wide_Character_Set;
54 Test : in Membership := Inside;
55 Going : in Direction := Forward)
56 return Natural;
58 function Index_Non_Blank
59 (Source : in Wide_String;
60 Going : in Direction := Forward)
61 return Natural;
63 function Count
64 (Source : in Wide_String;
65 Pattern : in Wide_String;
66 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
67 return Natural;
69 function Count
70 (Source : in Wide_String;
71 Pattern : in Wide_String;
72 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
73 return Natural;
75 function Count
76 (Source : in Wide_String;
77 Set : in Wide_Maps.Wide_Character_Set)
78 return Natural;
80 procedure Find_Token
81 (Source : in Wide_String;
82 Set : in Wide_Maps.Wide_Character_Set;
83 Test : in Membership;
84 First : out Positive;
85 Last : out Natural);
87 -----------------------------------------
88 -- Wide_String Translation Subprograms --
89 -----------------------------------------
91 function Translate
92 (Source : in Wide_String;
93 Mapping : in Wide_Maps.Wide_Character_Mapping)
94 return Wide_String;
96 procedure Translate
97 (Source : in out Wide_String;
98 Mapping : in Wide_Maps.Wide_Character_Mapping);
100 function Translate
101 (Source : in Wide_String;
102 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
103 return Wide_String;
105 procedure Translate
106 (Source : in out Wide_String;
107 Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
109 --------------------------------------------
110 -- Wide_String Transformation Subprograms --
111 --------------------------------------------
113 function Replace_Slice
114 (Source : in Wide_String;
115 Low : in Positive;
116 High : in Natural;
117 By : in Wide_String)
118 return Wide_String;
120 procedure Replace_Slice
121 (Source : in out Wide_String;
122 Low : in Positive;
123 High : in Natural;
124 By : in Wide_String;
125 Drop : in Truncation := Error;
126 Justify : in Alignment := Left;
127 Pad : in Wide_Character := Ada.Strings.Wide_Space);
129 function Insert
130 (Source : in Wide_String;
131 Before : in Positive;
132 New_Item : in Wide_String)
133 return Wide_String;
135 procedure Insert
136 (Source : in out Wide_String;
137 Before : in Positive;
138 New_Item : in Wide_String;
139 Drop : in Truncation := Error);
141 function Overwrite
142 (Source : in Wide_String;
143 Position : in Positive;
144 New_Item : in Wide_String)
145 return Wide_String;
147 procedure Overwrite
148 (Source : in out Wide_String;
149 Position : in Positive;
150 New_Item : in Wide_String;
151 Drop : in Truncation := Right);
153 function Delete
154 (Source : in Wide_String;
155 From : in Positive;
156 Through : in Natural)
157 return Wide_String;
159 procedure Delete
160 (Source : in out Wide_String;
161 From : in Positive;
162 Through : in Natural;
163 Justify : in Alignment := Left;
164 Pad : in Wide_Character := Ada.Strings.Wide_Space);
166 --------------------------------------
167 -- Wide_String Selector Subprograms --
168 --------------------------------------
170 function Trim
171 (Source : in Wide_String;
172 Side : in Trim_End)
173 return Wide_String;
175 procedure Trim
176 (Source : in out Wide_String;
177 Side : in Trim_End;
178 Justify : in Alignment := Left;
179 Pad : in Wide_Character := Wide_Space);
181 function Trim
182 (Source : in Wide_String;
183 Left : in Wide_Maps.Wide_Character_Set;
184 Right : in Wide_Maps.Wide_Character_Set)
185 return Wide_String;
187 procedure Trim
188 (Source : in out Wide_String;
189 Left : in Wide_Maps.Wide_Character_Set;
190 Right : in Wide_Maps.Wide_Character_Set;
191 Justify : in Alignment := Ada.Strings.Left;
192 Pad : in Wide_Character := Ada.Strings.Wide_Space);
194 function Head
195 (Source : in Wide_String;
196 Count : in Natural;
197 Pad : in Wide_Character := Ada.Strings.Wide_Space)
198 return Wide_String;
200 procedure Head
201 (Source : in out Wide_String;
202 Count : in Natural;
203 Justify : in Alignment := Left;
204 Pad : in Wide_Character := Ada.Strings.Wide_Space);
206 function Tail
207 (Source : in Wide_String;
208 Count : in Natural;
209 Pad : in Wide_Character := Ada.Strings.Wide_Space)
210 return Wide_String;
212 procedure Tail
213 (Source : in out Wide_String;
214 Count : in Natural;
215 Justify : in Alignment := Left;
216 Pad : in Wide_Character := Ada.Strings.Wide_Space);
218 ---------------------------------------
219 -- Wide_String Constructor Functions --
220 ---------------------------------------
222 function "*"
223 (Left : in Natural;
224 Right : in Wide_Character)
225 return Wide_String;
227 function "*"
228 (Left : in Natural;
229 Right : in Wide_String)
230 return Wide_String;
232 end Ada.Strings.Wide_Fixed;