OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-stwifi.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT RUN-TIME 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 derived 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 ------------------------------------------------------------------------------
15
16 with Ada.Strings.Wide_Maps;
17
18 package Ada.Strings.Wide_Fixed is
19    pragma Preelaborate;
20
21    -------------------------------------------------------------------
22    -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
23    -------------------------------------------------------------------
24
25    procedure Move
26      (Source  : Wide_String;
27       Target  : out Wide_String;
28       Drop    : Truncation := Error;
29       Justify : Alignment  := Left;
30       Pad     : Wide_Character  := Ada.Strings.Wide_Space);
31
32    ------------------------
33    -- Search Subprograms --
34    ------------------------
35
36    function Index
37      (Source  : Wide_String;
38       Pattern : Wide_String;
39       Going   : Direction := Forward;
40       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
41       return Natural;
42
43    function Index
44      (Source  : Wide_String;
45       Pattern : Wide_String;
46       Going   : Direction := Forward;
47       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural;
48
49    function Index
50      (Source : Wide_String;
51       Set    : Wide_Maps.Wide_Character_Set;
52       Test   : Membership := Inside;
53       Going  : Direction  := Forward) return Natural;
54
55    function Index
56      (Source  : Wide_String;
57       Pattern : Wide_String;
58       From    : Positive;
59       Going   : Direction := Forward;
60       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
61       return Natural;
62    pragma Ada_05 (Index);
63
64    function Index
65      (Source  : Wide_String;
66       Pattern : Wide_String;
67       From    : Positive;
68       Going   : Direction := Forward;
69       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural;
70    pragma Ada_05 (Index);
71
72    function Index
73      (Source  : Wide_String;
74       Set     : Wide_Maps.Wide_Character_Set;
75       From    : Positive;
76       Test    : Membership := Inside;
77       Going   : Direction := Forward) return Natural;
78    pragma Ada_05 (Index);
79
80    function Index_Non_Blank
81      (Source : Wide_String;
82       Going  : Direction := Forward) return Natural;
83
84    function Index_Non_Blank
85      (Source : Wide_String;
86       From   : Positive;
87       Going  : Direction := Forward) return Natural;
88    pragma Ada_05 (Index_Non_Blank);
89
90    function Count
91      (Source  : Wide_String;
92       Pattern : Wide_String;
93       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
94       return Natural;
95
96    function Count
97      (Source  : Wide_String;
98       Pattern : Wide_String;
99       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural;
100
101    function Count
102      (Source : Wide_String;
103       Set    : Wide_Maps.Wide_Character_Set) return Natural;
104
105    procedure Find_Token
106      (Source : Wide_String;
107       Set    : Wide_Maps.Wide_Character_Set;
108       From   : Positive;
109       Test   : Membership;
110       First  : out Positive;
111       Last   : out Natural);
112    pragma Ada_2012 (Find_Token);
113
114    procedure Find_Token
115      (Source : Wide_String;
116       Set    : Wide_Maps.Wide_Character_Set;
117       Test   : Membership;
118       First  : out Positive;
119       Last   : out Natural);
120
121    -----------------------------------------
122    -- Wide_String Translation Subprograms --
123    -----------------------------------------
124
125    function Translate
126      (Source  : Wide_String;
127       Mapping : Wide_Maps.Wide_Character_Mapping) return Wide_String;
128
129    procedure Translate
130      (Source  : in out Wide_String;
131       Mapping : Wide_Maps.Wide_Character_Mapping);
132
133    function Translate
134      (Source  : Wide_String;
135       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Wide_String;
136
137    procedure Translate
138      (Source  : in out Wide_String;
139       Mapping : Wide_Maps.Wide_Character_Mapping_Function);
140
141    --------------------------------------------
142    -- Wide_String Transformation Subprograms --
143    --------------------------------------------
144
145    function Replace_Slice
146      (Source : Wide_String;
147       Low    : Positive;
148       High   : Natural;
149       By     : Wide_String) return Wide_String;
150
151    procedure Replace_Slice
152      (Source  : in out Wide_String;
153       Low     : Positive;
154       High    : Natural;
155       By      : Wide_String;
156       Drop    : Truncation := Error;
157       Justify : Alignment  := Left;
158       Pad     : Wide_Character  := Ada.Strings.Wide_Space);
159
160    function Insert
161      (Source   : Wide_String;
162       Before   : Positive;
163       New_Item : Wide_String) return Wide_String;
164
165    procedure Insert
166      (Source   : in out Wide_String;
167       Before   : Positive;
168       New_Item : Wide_String;
169       Drop     : Truncation := Error);
170
171    function Overwrite
172      (Source   : Wide_String;
173       Position : Positive;
174       New_Item : Wide_String) return Wide_String;
175
176    procedure Overwrite
177      (Source   : in out Wide_String;
178       Position : Positive;
179       New_Item : Wide_String;
180       Drop     : Truncation := Right);
181
182    function Delete
183      (Source  : Wide_String;
184       From    : Positive;
185       Through : Natural) return Wide_String;
186
187    procedure Delete
188      (Source  : in out Wide_String;
189       From    : Positive;
190       Through : Natural;
191       Justify : Alignment := Left;
192       Pad     : Wide_Character := Ada.Strings.Wide_Space);
193
194    --------------------------------------
195    -- Wide_String Selector Subprograms --
196    --------------------------------------
197
198    function Trim
199      (Source : Wide_String;
200       Side   : Trim_End) return Wide_String;
201
202    procedure Trim
203      (Source  : in out Wide_String;
204       Side    : Trim_End;
205       Justify : Alignment      := Left;
206       Pad     : Wide_Character := Wide_Space);
207
208    function Trim
209      (Source : Wide_String;
210       Left   : Wide_Maps.Wide_Character_Set;
211       Right  : Wide_Maps.Wide_Character_Set) return Wide_String;
212
213    procedure Trim
214      (Source  : in out Wide_String;
215       Left    : Wide_Maps.Wide_Character_Set;
216       Right   : Wide_Maps.Wide_Character_Set;
217       Justify : Alignment := Ada.Strings.Left;
218       Pad     : Wide_Character := Ada.Strings.Wide_Space);
219
220    function Head
221      (Source : Wide_String;
222       Count  : Natural;
223       Pad    : Wide_Character := Ada.Strings.Wide_Space) return Wide_String;
224
225    procedure Head
226      (Source  : in out Wide_String;
227       Count   : Natural;
228       Justify : Alignment := Left;
229       Pad     : Wide_Character := Ada.Strings.Wide_Space);
230
231    function Tail
232      (Source : Wide_String;
233       Count  : Natural;
234       Pad    : Wide_Character := Ada.Strings.Wide_Space) return Wide_String;
235
236    procedure Tail
237      (Source  : in out Wide_String;
238       Count   : Natural;
239       Justify : Alignment := Left;
240       Pad     : Wide_Character := Ada.Strings.Wide_Space);
241
242    ---------------------------------------
243    -- Wide_String Constructor Functions --
244    ---------------------------------------
245
246    function "*"
247      (Left  : Natural;
248       Right : Wide_Character) return Wide_String;
249
250    function "*"
251      (Left  : Natural;
252       Right : Wide_String) return Wide_String;
253
254 end Ada.Strings.Wide_Fixed;