OSDN Git Service

Delete all lines containing "$Revision:".
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-stwifi.ads
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 ------------------------------------------------------------------------------
16
17
18 with Ada.Strings.Wide_Maps;
19
20 package Ada.Strings.Wide_Fixed is
21 pragma Preelaborate (Wide_Fixed);
22
23    -------------------------------------------------------------------
24    -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
25    -------------------------------------------------------------------
26
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);
33
34    ------------------------
35    -- Search Subprograms --
36    ------------------------
37
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;
44
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;
51
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;
58
59    function Index_Non_Blank
60      (Source : in Wide_String;
61       Going  : in Direction := Forward)
62       return   Natural;
63
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;
69
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;
75
76    function Count
77      (Source : in Wide_String;
78       Set    : in Wide_Maps.Wide_Character_Set)
79       return   Natural;
80
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);
87
88    -----------------------------------------
89    -- Wide_String Translation Subprograms --
90    -----------------------------------------
91
92    function Translate
93      (Source  : in Wide_String;
94       Mapping : in Wide_Maps.Wide_Character_Mapping)
95       return    Wide_String;
96
97    procedure Translate
98      (Source  : in out Wide_String;
99       Mapping : in Wide_Maps.Wide_Character_Mapping);
100
101    function Translate
102      (Source  : in Wide_String;
103       Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
104       return    Wide_String;
105
106    procedure Translate
107      (Source  : in out Wide_String;
108       Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
109
110    --------------------------------------------
111    -- Wide_String Transformation Subprograms --
112    --------------------------------------------
113
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;
120
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);
129
130    function Insert
131      (Source   : in Wide_String;
132       Before   : in Positive;
133       New_Item : in Wide_String)
134       return     Wide_String;
135
136    procedure Insert
137      (Source   : in out Wide_String;
138       Before   : in Positive;
139       New_Item : in Wide_String;
140       Drop     : in Truncation := Error);
141
142    function Overwrite
143      (Source   : in Wide_String;
144       Position : in Positive;
145       New_Item : in Wide_String)
146       return     Wide_String;
147
148    procedure Overwrite
149      (Source   : in out Wide_String;
150       Position : in Positive;
151       New_Item : in Wide_String;
152       Drop     : in Truncation := Right);
153
154    function Delete
155      (Source  : in Wide_String;
156       From    : in Positive;
157       Through : in Natural)
158       return    Wide_String;
159
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);
166
167    --------------------------------------
168    -- Wide_String Selector Subprograms --
169    --------------------------------------
170
171    function Trim
172      (Source : in Wide_String;
173       Side   : in Trim_End)
174       return   Wide_String;
175
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);
181
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;
187
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);
194
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;
200
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);
206
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;
212
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);
218
219    ---------------------------------------
220    -- Wide_String Constructor Functions --
221    ---------------------------------------
222
223    function "*"
224      (Left  : in Natural;
225       Right : in Wide_Character)
226       return  Wide_String;
227
228    function "*"
229      (Left  : in Natural;
230       Right : in Wide_String)
231       return Wide_String;
232
233 end Ada.Strings.Wide_Fixed;