1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . S T R I N G S . W I D E _ 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 ------------------------------------------------------------------------------
16 with Ada
.Strings
.Wide_Wide_Maps
;
18 package Ada
.Strings
.Wide_Wide_Fixed
is
21 ------------------------------------------------------------------------
22 -- Copy Procedure for Wide_Wide_Strings of Possibly Different Lengths --
23 ------------------------------------------------------------------------
26 (Source
: Wide_Wide_String
;
27 Target
: out Wide_Wide_String
;
28 Drop
: Truncation
:= Error
;
29 Justify
: Alignment
:= Left
;
30 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
32 ------------------------
33 -- Search Subprograms --
34 ------------------------
37 (Source
: Wide_Wide_String
;
38 Pattern
: Wide_Wide_String
;
39 Going
: Direction
:= Forward
;
40 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping
:=
41 Wide_Wide_Maps
.Identity
) return Natural;
44 (Source
: Wide_Wide_String
;
45 Pattern
: Wide_Wide_String
;
46 Going
: Direction
:= Forward
;
47 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping_Function
)
51 (Source
: Wide_Wide_String
;
52 Set
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
53 Test
: Membership
:= Inside
;
54 Going
: Direction
:= Forward
) return Natural;
57 (Source
: Wide_Wide_String
;
58 Pattern
: Wide_Wide_String
;
60 Going
: Direction
:= Forward
;
61 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping
:=
62 Wide_Wide_Maps
.Identity
)
64 pragma Ada_05
(Index
);
67 (Source
: Wide_Wide_String
;
68 Pattern
: Wide_Wide_String
;
70 Going
: Direction
:= Forward
;
71 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping_Function
)
73 pragma Ada_05
(Index
);
76 (Source
: Wide_Wide_String
;
77 Set
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
79 Test
: Membership
:= Inside
;
80 Going
: Direction
:= Forward
) return Natural;
81 pragma Ada_05
(Index
);
83 function Index_Non_Blank
84 (Source
: Wide_Wide_String
;
85 Going
: Direction
:= Forward
) return Natural;
87 function Index_Non_Blank
88 (Source
: Wide_Wide_String
;
90 Going
: Direction
:= Forward
) return Natural;
91 pragma Ada_05
(Index_Non_Blank
);
94 (Source
: Wide_Wide_String
;
95 Pattern
: Wide_Wide_String
;
96 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping
:=
97 Wide_Wide_Maps
.Identity
)
101 (Source
: Wide_Wide_String
;
102 Pattern
: Wide_Wide_String
;
103 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping_Function
)
107 (Source
: Wide_Wide_String
;
108 Set
: Wide_Wide_Maps
.Wide_Wide_Character_Set
) return Natural;
111 (Source
: Wide_Wide_String
;
112 Set
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
114 First
: out Positive;
117 ----------------------------------------------
118 -- Wide_Wide_String Translation Subprograms --
119 ----------------------------------------------
122 (Source
: Wide_Wide_String
;
123 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping
)
124 return Wide_Wide_String
;
127 (Source
: in out Wide_Wide_String
;
128 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping
);
131 (Source
: Wide_Wide_String
;
132 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping_Function
)
133 return Wide_Wide_String
;
136 (Source
: in out Wide_Wide_String
;
137 Mapping
: Wide_Wide_Maps
.Wide_Wide_Character_Mapping_Function
);
139 -------------------------------------------------
140 -- Wide_Wide_String Transformation Subprograms --
141 -------------------------------------------------
143 function Replace_Slice
144 (Source
: Wide_Wide_String
;
147 By
: Wide_Wide_String
) return Wide_Wide_String
;
149 procedure Replace_Slice
150 (Source
: in out Wide_Wide_String
;
153 By
: Wide_Wide_String
;
154 Drop
: Truncation
:= Error
;
155 Justify
: Alignment
:= Left
;
156 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
159 (Source
: Wide_Wide_String
;
161 New_Item
: Wide_Wide_String
) return Wide_Wide_String
;
164 (Source
: in out Wide_Wide_String
;
166 New_Item
: Wide_Wide_String
;
167 Drop
: Truncation
:= Error
);
170 (Source
: Wide_Wide_String
;
172 New_Item
: Wide_Wide_String
) return Wide_Wide_String
;
175 (Source
: in out Wide_Wide_String
;
177 New_Item
: Wide_Wide_String
;
178 Drop
: Truncation
:= Right
);
181 (Source
: Wide_Wide_String
;
183 Through
: Natural) return Wide_Wide_String
;
186 (Source
: in out Wide_Wide_String
;
189 Justify
: Alignment
:= Left
;
190 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
192 -------------------------------------------
193 -- Wide_Wide_String Selector Subprograms --
194 -------------------------------------------
197 (Source
: Wide_Wide_String
;
198 Side
: Trim_End
) return Wide_Wide_String
;
201 (Source
: in out Wide_Wide_String
;
203 Justify
: Alignment
:= Left
;
204 Pad
: Wide_Wide_Character
:= Wide_Wide_Space
);
207 (Source
: Wide_Wide_String
;
208 Left
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
209 Right
: Wide_Wide_Maps
.Wide_Wide_Character_Set
)
210 return Wide_Wide_String
;
213 (Source
: in out Wide_Wide_String
;
214 Left
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
215 Right
: Wide_Wide_Maps
.Wide_Wide_Character_Set
;
216 Justify
: Alignment
:= Ada
.Strings
.Left
;
217 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
220 (Source
: Wide_Wide_String
;
222 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
)
223 return Wide_Wide_String
;
226 (Source
: in out Wide_Wide_String
;
228 Justify
: Alignment
:= Left
;
229 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
232 (Source
: Wide_Wide_String
;
234 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
)
235 return Wide_Wide_String
;
238 (Source
: in out Wide_Wide_String
;
240 Justify
: Alignment
:= Left
;
241 Pad
: Wide_Wide_Character
:= Ada
.Strings
.Wide_Wide_Space
);
243 --------------------------------------------
244 -- Wide_Wide_String Constructor Functions --
245 --------------------------------------------
249 Right
: Wide_Wide_Character
) return Wide_Wide_String
;
253 Right
: Wide_Wide_String
) return Wide_Wide_String
;
255 end Ada
.Strings
.Wide_Wide_Fixed
;