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 --
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. --
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 -------------------------------------------------------------------
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 ------------------------
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
)
46 (Source
: in Wide_String;
47 Pattern
: in Wide_String;
48 Going
: in Direction
:= Forward
;
49 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
53 (Source
: in Wide_String;
54 Set
: in Wide_Maps
.Wide_Character_Set
;
55 Test
: in Membership
:= Inside
;
56 Going
: in Direction
:= Forward
)
59 function Index_Non_Blank
60 (Source
: in Wide_String;
61 Going
: in Direction
:= Forward
)
65 (Source
: in Wide_String;
66 Pattern
: in Wide_String;
67 Mapping
: in Wide_Maps
.Wide_Character_Mapping
:= Wide_Maps
.Identity
)
71 (Source
: in Wide_String;
72 Pattern
: in Wide_String;
73 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
77 (Source
: in Wide_String;
78 Set
: in Wide_Maps
.Wide_Character_Set
)
82 (Source
: in Wide_String;
83 Set
: in Wide_Maps
.Wide_Character_Set
;
88 -----------------------------------------
89 -- Wide_String Translation Subprograms --
90 -----------------------------------------
93 (Source
: in Wide_String;
94 Mapping
: in Wide_Maps
.Wide_Character_Mapping
)
98 (Source
: in out Wide_String;
99 Mapping
: in Wide_Maps
.Wide_Character_Mapping
);
102 (Source
: in Wide_String;
103 Mapping
: in Wide_Maps
.Wide_Character_Mapping_Function
)
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;
121 procedure Replace_Slice
122 (Source
: in out Wide_String;
126 Drop
: in Truncation
:= Error
;
127 Justify
: in Alignment
:= Left
;
128 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
131 (Source
: in Wide_String;
132 Before
: in Positive;
133 New_Item
: in Wide_String)
137 (Source
: in out Wide_String;
138 Before
: in Positive;
139 New_Item
: in Wide_String;
140 Drop
: in Truncation
:= Error
);
143 (Source
: in Wide_String;
144 Position
: in Positive;
145 New_Item
: in Wide_String)
149 (Source
: in out Wide_String;
150 Position
: in Positive;
151 New_Item
: in Wide_String;
152 Drop
: in Truncation
:= Right
);
155 (Source
: in Wide_String;
157 Through
: in Natural)
161 (Source
: in out Wide_String;
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 --------------------------------------
172 (Source
: in Wide_String;
177 (Source
: in out Wide_String;
179 Justify
: in Alignment
:= Left
;
180 Pad
: in Wide_Character := Wide_Space
);
183 (Source
: in Wide_String;
184 Left
: in Wide_Maps
.Wide_Character_Set
;
185 Right
: in Wide_Maps
.Wide_Character_Set
)
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
);
196 (Source
: in Wide_String;
198 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
)
202 (Source
: in out Wide_String;
204 Justify
: in Alignment
:= Left
;
205 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
208 (Source
: in Wide_String;
210 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
)
214 (Source
: in out Wide_String;
216 Justify
: in Alignment
:= Left
;
217 Pad
: in Wide_Character := Ada
.Strings
.Wide_Space
);
219 ---------------------------------------
220 -- Wide_String Constructor Functions --
221 ---------------------------------------
225 Right
: in Wide_Character)
230 Right
: in Wide_String)
233 end Ada
.Strings
.Wide_Fixed
;