1 ------------------------------------------------------------------------------
3 -- GNAT RUNTIME COMPONENTS --
5 -- A D A . S T R I N G S . W I D E _ F I X E D --
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. --
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 -------------------------------------------------------------------
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 ------------------------
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
)
45 (Source
: in Wide_String;
46 Pattern
: in Wide_String;
47 Going
: in Direction
:= Forward
;
48 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
52 (Source
: in Wide_String;
53 Set
: in Wide_Maps
.Wide_Character_Set
;
54 Test
: in Membership
:= Inside
;
55 Going
: in Direction
:= Forward
)
58 function Index_Non_Blank
59 (Source
: in Wide_String;
60 Going
: in Direction
:= Forward
)
64 (Source
: in Wide_String;
65 Pattern
: in Wide_String;
66 Mapping
: in Wide_Maps
.Wide_Character_Mapping
:= Wide_Maps
.Identity
)
70 (Source
: in Wide_String;
71 Pattern
: in Wide_String;
72 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
76 (Source
: in Wide_String;
77 Set
: in Wide_Maps
.Wide_Character_Set
)
81 (Source
: in Wide_String;
82 Set
: in Wide_Maps
.Wide_Character_Set
;
87 -----------------------------------------
88 -- Wide_String Translation Subprograms --
89 -----------------------------------------
92 (Source
: in Wide_String;
93 Mapping
: in Wide_Maps
.Wide_Character_Mapping
)
97 (Source
: in out Wide_String;
98 Mapping
: in Wide_Maps
.Wide_Character_Mapping
);
101 (Source
: in Wide_String;
102 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
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;
120 procedure Replace_Slice
121 (Source
: in out Wide_String;
125 Drop
: in Truncation
:= Error
;
126 Justify
: in Alignment
:= Left
;
127 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
130 (Source
: in Wide_String;
131 Before
: in Positive;
132 New_Item
: in Wide_String)
136 (Source
: in out Wide_String;
137 Before
: in Positive;
138 New_Item
: in Wide_String;
139 Drop
: in Truncation
:= Error
);
142 (Source
: in Wide_String;
143 Position
: in Positive;
144 New_Item
: in Wide_String)
148 (Source
: in out Wide_String;
149 Position
: in Positive;
150 New_Item
: in Wide_String;
151 Drop
: in Truncation
:= Right
);
154 (Source
: in Wide_String;
156 Through
: in Natural)
160 (Source
: in out Wide_String;
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 --------------------------------------
171 (Source
: in Wide_String;
176 (Source
: in out Wide_String;
178 Justify
: in Alignment
:= Left
;
179 Pad
: in Wide_Character := Wide_Space
);
182 (Source
: in Wide_String;
183 Left
: in Wide_Maps
.Wide_Character_Set
;
184 Right
: in Wide_Maps
.Wide_Character_Set
)
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
);
195 (Source
: in Wide_String;
197 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
)
201 (Source
: in out Wide_String;
203 Justify
: in Alignment
:= Left
;
204 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
207 (Source
: in Wide_String;
209 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
)
213 (Source
: in out Wide_String;
215 Justify
: in Alignment
:= Left
;
216 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
218 ---------------------------------------
219 -- Wide_String Constructor Functions --
220 ---------------------------------------
224 Right
: in Wide_Character)
229 Right
: in Wide_String)
232 end Ada
.Strings
.Wide_Fixed
;