Add hppa-openbsd target
[official-gcc.git] / gcc / ada / a-stwifi.ads
blobf2f74de3c67087cb4d0798048e1f87f53043692d
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 -- --
10 -- This specification is adapted from the Ada Reference Manual for use with --
11 -- GNAT. In accordance with the copyright of that document, you can freely --
12 -- copy and modify this specification, provided that if you redistribute a --
13 -- modified version, any changes that you have made are clearly indicated. --
14 -- --
15 ------------------------------------------------------------------------------
18 with Ada.Strings.Wide_Maps;
20 package Ada.Strings.Wide_Fixed is
21 pragma Preelaborate (Wide_Fixed);
23 -------------------------------------------------------------------
24 -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
25 -------------------------------------------------------------------
27 procedure Move
28 (Source : in Wide_String;
29 Target : out Wide_String;
30 Drop : in Truncation := Error;
31 Justify : in Alignment := Left;
32 Pad : in Wide_Character := Ada.Strings.Wide_Space);
34 ------------------------
35 -- Search Subprograms --
36 ------------------------
38 function Index
39 (Source : in Wide_String;
40 Pattern : in Wide_String;
41 Going : in Direction := Forward;
42 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
43 return Natural;
45 function Index
46 (Source : in Wide_String;
47 Pattern : in Wide_String;
48 Going : in Direction := Forward;
49 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
50 return Natural;
52 function Index
53 (Source : in Wide_String;
54 Set : in Wide_Maps.Wide_Character_Set;
55 Test : in Membership := Inside;
56 Going : in Direction := Forward)
57 return Natural;
59 function Index_Non_Blank
60 (Source : in Wide_String;
61 Going : in Direction := Forward)
62 return Natural;
64 function Count
65 (Source : in Wide_String;
66 Pattern : in Wide_String;
67 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
68 return Natural;
70 function Count
71 (Source : in Wide_String;
72 Pattern : in Wide_String;
73 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
74 return Natural;
76 function Count
77 (Source : in Wide_String;
78 Set : in Wide_Maps.Wide_Character_Set)
79 return Natural;
81 procedure Find_Token
82 (Source : in Wide_String;
83 Set : in Wide_Maps.Wide_Character_Set;
84 Test : in Membership;
85 First : out Positive;
86 Last : out Natural);
88 -----------------------------------------
89 -- Wide_String Translation Subprograms --
90 -----------------------------------------
92 function Translate
93 (Source : in Wide_String;
94 Mapping : in Wide_Maps.Wide_Character_Mapping)
95 return Wide_String;
97 procedure Translate
98 (Source : in out Wide_String;
99 Mapping : in Wide_Maps.Wide_Character_Mapping);
101 function Translate
102 (Source : in Wide_String;
103 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
104 return Wide_String;
106 procedure Translate
107 (Source : in out Wide_String;
108 Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
110 --------------------------------------------
111 -- Wide_String Transformation Subprograms --
112 --------------------------------------------
114 function Replace_Slice
115 (Source : in Wide_String;
116 Low : in Positive;
117 High : in Natural;
118 By : in Wide_String)
119 return Wide_String;
121 procedure Replace_Slice
122 (Source : in out Wide_String;
123 Low : in Positive;
124 High : in Natural;
125 By : in Wide_String;
126 Drop : in Truncation := Error;
127 Justify : in Alignment := Left;
128 Pad : in Wide_Character := Ada.Strings.Wide_Space);
130 function Insert
131 (Source : in Wide_String;
132 Before : in Positive;
133 New_Item : in Wide_String)
134 return Wide_String;
136 procedure Insert
137 (Source : in out Wide_String;
138 Before : in Positive;
139 New_Item : in Wide_String;
140 Drop : in Truncation := Error);
142 function Overwrite
143 (Source : in Wide_String;
144 Position : in Positive;
145 New_Item : in Wide_String)
146 return Wide_String;
148 procedure Overwrite
149 (Source : in out Wide_String;
150 Position : in Positive;
151 New_Item : in Wide_String;
152 Drop : in Truncation := Right);
154 function Delete
155 (Source : in Wide_String;
156 From : in Positive;
157 Through : in Natural)
158 return Wide_String;
160 procedure Delete
161 (Source : in out Wide_String;
162 From : in Positive;
163 Through : in Natural;
164 Justify : in Alignment := Left;
165 Pad : in Wide_Character := Ada.Strings.Wide_Space);
167 --------------------------------------
168 -- Wide_String Selector Subprograms --
169 --------------------------------------
171 function Trim
172 (Source : in Wide_String;
173 Side : in Trim_End)
174 return Wide_String;
176 procedure Trim
177 (Source : in out Wide_String;
178 Side : in Trim_End;
179 Justify : in Alignment := Left;
180 Pad : in Wide_Character := Wide_Space);
182 function Trim
183 (Source : in Wide_String;
184 Left : in Wide_Maps.Wide_Character_Set;
185 Right : in Wide_Maps.Wide_Character_Set)
186 return Wide_String;
188 procedure Trim
189 (Source : in out Wide_String;
190 Left : in Wide_Maps.Wide_Character_Set;
191 Right : in Wide_Maps.Wide_Character_Set;
192 Justify : in Alignment := Ada.Strings.Left;
193 Pad : in Wide_Character := Ada.Strings.Wide_Space);
195 function Head
196 (Source : in Wide_String;
197 Count : in Natural;
198 Pad : in Wide_Character := Ada.Strings.Wide_Space)
199 return Wide_String;
201 procedure Head
202 (Source : in out Wide_String;
203 Count : in Natural;
204 Justify : in Alignment := Left;
205 Pad : in Wide_Character := Ada.Strings.Wide_Space);
207 function Tail
208 (Source : in Wide_String;
209 Count : in Natural;
210 Pad : in Wide_Character := Ada.Strings.Wide_Space)
211 return Wide_String;
213 procedure Tail
214 (Source : in out Wide_String;
215 Count : in Natural;
216 Justify : in Alignment := Left;
217 Pad : in Wide_Character := Ada.Strings.Wide_Space);
219 ---------------------------------------
220 -- Wide_String Constructor Functions --
221 ---------------------------------------
223 function "*"
224 (Left : in Natural;
225 Right : in Wide_Character)
226 return Wide_String;
228 function "*"
229 (Left : in Natural;
230 Right : in Wide_String)
231 return Wide_String;
233 end Ada.Strings.Wide_Fixed;