1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . S T R I N G S . 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
.Maps
;
19 package Ada
.Strings
.Fixed
is
20 pragma Preelaborate
(Fixed
);
22 --------------------------------------------------------------
23 -- Copy Procedure for Strings of Possibly Different Lengths --
24 --------------------------------------------------------------
29 Drop
: Truncation
:= Error
;
30 Justify
: Alignment
:= Left
;
31 Pad
: Character := Space
);
33 ------------------------
34 -- Search Subprograms --
35 ------------------------
40 Going
: Direction
:= Forward
;
41 Mapping
: Maps
.Character_Mapping
:= Maps
.Identity
) return Natural;
46 Going
: Direction
:= Forward
;
47 Mapping
: Maps
.Character_Mapping_Function
) return Natural;
51 Set
: Maps
.Character_Set
;
52 Test
: Membership
:= Inside
;
53 Going
: Direction
:= Forward
) return Natural;
59 Going
: Direction
:= Forward
;
60 Mapping
: Maps
.Character_Mapping
:= Maps
.Identity
) return Natural;
61 pragma Ada_05
(Index
);
67 Going
: Direction
:= Forward
;
68 Mapping
: Maps
.Character_Mapping_Function
) return Natural;
69 pragma Ada_05
(Index
);
73 Set
: Maps
.Character_Set
;
75 Test
: Membership
:= Inside
;
76 Going
: Direction
:= Forward
) return Natural;
77 pragma Ada_05
(Index
);
79 function Index_Non_Blank
81 Going
: Direction
:= Forward
) return Natural;
83 function Index_Non_Blank
86 Going
: Direction
:= Forward
) return Natural;
87 pragma Ada_05
(Index_Non_Blank
);
92 Mapping
: Maps
.Character_Mapping
:= Maps
.Identity
) return Natural;
97 Mapping
: Maps
.Character_Mapping_Function
) return Natural;
101 Set
: Maps
.Character_Set
) return Natural;
105 Set
: Maps
.Character_Set
;
107 First
: out Positive;
110 ------------------------------------
111 -- String Translation Subprograms --
112 ------------------------------------
116 Mapping
: Maps
.Character_Mapping
) return String;
119 (Source
: in out String;
120 Mapping
: Maps
.Character_Mapping
);
124 Mapping
: Maps
.Character_Mapping_Function
) return String;
127 (Source
: in out String;
128 Mapping
: Maps
.Character_Mapping_Function
);
130 ---------------------------------------
131 -- String Transformation Subprograms --
132 ---------------------------------------
134 function Replace_Slice
138 By
: String) return String;
140 procedure Replace_Slice
141 (Source
: in out String;
145 Drop
: Truncation
:= Error
;
146 Justify
: Alignment
:= Left
;
147 Pad
: Character := Space
);
152 New_Item
: String) return String;
155 (Source
: in out String;
158 Drop
: Truncation
:= Error
);
163 New_Item
: String) return String;
166 (Source
: in out String;
169 Drop
: Truncation
:= Right
);
174 Through
: Natural) return String;
177 (Source
: in out String;
180 Justify
: Alignment
:= Left
;
181 Pad
: Character := Space
);
183 ---------------------------------
184 -- String Selector Subprograms --
185 ---------------------------------
189 Side
: Trim_End
) return String;
192 (Source
: in out String;
194 Justify
: Alignment
:= Left
;
195 Pad
: Character := Space
);
199 Left
: Maps
.Character_Set
;
200 Right
: Maps
.Character_Set
) return String;
203 (Source
: in out String;
204 Left
: Maps
.Character_Set
;
205 Right
: Maps
.Character_Set
;
206 Justify
: Alignment
:= Strings
.Left
;
207 Pad
: Character := Space
);
212 Pad
: Character := Space
) return String;
215 (Source
: in out String;
217 Justify
: Alignment
:= Left
;
218 Pad
: Character := Space
);
223 Pad
: Character := Space
) return String;
226 (Source
: in out String;
228 Justify
: Alignment
:= Left
;
229 Pad
: Character := Space
);
231 ----------------------------------
232 -- String Constructor Functions --
233 ----------------------------------
237 Right
: Character) return String;
241 Right
: String) return String;
243 end Ada
.Strings
.Fixed
;