2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / ada / a-stwibo.ads
blob9cebf6f484baec836c683f0cf68994c920756e3e
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUN-TIME COMPONENTS --
4 -- --
5 -- A D A . S T R I N G S . W I D E _ B O U N D E D --
6 -- --
7 -- S p e c --
8 -- --
9 -- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
10 -- --
11 -- This specification is derived from the Ada Reference Manual for use with --
12 -- GNAT. The copyright notice above, and the license provisions that follow --
13 -- apply solely to the contents of the part following the private keyword. --
14 -- --
15 -- GNAT is free software; you can redistribute it and/or modify it under --
16 -- terms of the GNU General Public License as published by the Free Soft- --
17 -- ware Foundation; either version 2, or (at your option) any later ver- --
18 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
19 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
20 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
21 -- for more details. You should have received a copy of the GNU General --
22 -- Public License distributed with GNAT; see file COPYING. If not, write --
23 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
24 -- MA 02111-1307, USA. --
25 -- --
26 -- As a special exception, if other files instantiate generics from this --
27 -- unit, or you link this unit with other files to produce an executable, --
28 -- this unit does not by itself cause the resulting executable to be --
29 -- covered by the GNU General Public License. This exception does not --
30 -- however invalidate any other reasons why the executable file might be --
31 -- covered by the GNU Public License. --
32 -- --
33 -- GNAT was originally developed by the GNAT team at New York University. --
34 -- Extensive contributions were provided by Ada Core Technologies Inc. --
35 -- --
36 ------------------------------------------------------------------------------
38 with Ada.Strings.Wide_Maps;
39 with Ada.Strings.Wide_Superbounded;
41 package Ada.Strings.Wide_Bounded is
42 pragma Preelaborate (Wide_Bounded);
44 generic
45 Max : Positive;
46 -- Maximum length of a Bounded_Wide_String
48 package Generic_Bounded_Length is
50 Max_Length : constant Positive := Max;
52 type Bounded_Wide_String is private;
54 Null_Bounded_Wide_String : constant Bounded_Wide_String;
56 subtype Length_Range is Natural range 0 .. Max_Length;
58 function Length (Source : in Bounded_Wide_String) return Length_Range;
60 --------------------------------------------------------
61 -- Conversion, Concatenation, and Selection Functions --
62 --------------------------------------------------------
64 function To_Bounded_Wide_String
65 (Source : in Wide_String;
66 Drop : in Truncation := Error)
67 return Bounded_Wide_String;
69 function To_Wide_String
70 (Source : in Bounded_Wide_String)
71 return Wide_String;
73 function Append
74 (Left, Right : in Bounded_Wide_String;
75 Drop : in Truncation := Error)
76 return Bounded_Wide_String;
78 function Append
79 (Left : in Bounded_Wide_String;
80 Right : in Wide_String;
81 Drop : in Truncation := Error)
82 return Bounded_Wide_String;
84 function Append
85 (Left : in Wide_String;
86 Right : in Bounded_Wide_String;
87 Drop : in Truncation := Error)
88 return Bounded_Wide_String;
90 function Append
91 (Left : in Bounded_Wide_String;
92 Right : in Wide_Character;
93 Drop : in Truncation := Error)
94 return Bounded_Wide_String;
96 function Append
97 (Left : in Wide_Character;
98 Right : in Bounded_Wide_String;
99 Drop : in Truncation := Error)
100 return Bounded_Wide_String;
102 procedure Append
103 (Source : in out Bounded_Wide_String;
104 New_Item : in Bounded_Wide_String;
105 Drop : in Truncation := Error);
107 procedure Append
108 (Source : in out Bounded_Wide_String;
109 New_Item : in Wide_String;
110 Drop : in Truncation := Error);
112 procedure Append
113 (Source : in out Bounded_Wide_String;
114 New_Item : in Wide_Character;
115 Drop : in Truncation := Error);
117 function "&"
118 (Left, Right : in Bounded_Wide_String)
119 return Bounded_Wide_String;
121 function "&"
122 (Left : in Bounded_Wide_String;
123 Right : in Wide_String)
124 return Bounded_Wide_String;
126 function "&"
127 (Left : in Wide_String;
128 Right : in Bounded_Wide_String)
129 return Bounded_Wide_String;
131 function "&"
132 (Left : in Bounded_Wide_String;
133 Right : in Wide_Character)
134 return Bounded_Wide_String;
136 function "&"
137 (Left : in Wide_Character;
138 Right : in Bounded_Wide_String)
139 return Bounded_Wide_String;
141 function Element
142 (Source : in Bounded_Wide_String;
143 Index : in Positive)
144 return Wide_Character;
146 procedure Replace_Element
147 (Source : in out Bounded_Wide_String;
148 Index : in Positive;
149 By : in Wide_Character);
151 function Slice
152 (Source : in Bounded_Wide_String;
153 Low : in Positive;
154 High : in Natural)
155 return Wide_String;
157 function "="
158 (Left : in Bounded_Wide_String;
159 Right : in Bounded_Wide_String)
160 return Boolean;
162 function "="
163 (Left : in Bounded_Wide_String;
164 Right : in Wide_String)
165 return Boolean;
167 function "="
168 (Left : in Wide_String;
169 Right : in Bounded_Wide_String)
170 return Boolean;
172 function "<"
173 (Left : in Bounded_Wide_String;
174 Right : in Bounded_Wide_String)
175 return Boolean;
177 function "<"
178 (Left : in Bounded_Wide_String;
179 Right : in Wide_String)
180 return Boolean;
182 function "<"
183 (Left : in Wide_String;
184 Right : in Bounded_Wide_String)
185 return Boolean;
187 function "<="
188 (Left : in Bounded_Wide_String;
189 Right : in Bounded_Wide_String)
190 return Boolean;
192 function "<="
193 (Left : in Bounded_Wide_String;
194 Right : in Wide_String)
195 return Boolean;
197 function "<="
198 (Left : in Wide_String;
199 Right : in Bounded_Wide_String)
200 return Boolean;
202 function ">"
203 (Left : in Bounded_Wide_String;
204 Right : in Bounded_Wide_String)
205 return Boolean;
207 function ">"
208 (Left : in Bounded_Wide_String;
209 Right : in Wide_String)
210 return Boolean;
212 function ">"
213 (Left : in Wide_String;
214 Right : in Bounded_Wide_String)
215 return Boolean;
217 function ">="
218 (Left : in Bounded_Wide_String;
219 Right : in Bounded_Wide_String)
220 return Boolean;
222 function ">="
223 (Left : in Bounded_Wide_String;
224 Right : in Wide_String)
225 return Boolean;
227 function ">="
228 (Left : in Wide_String;
229 Right : in Bounded_Wide_String)
230 return Boolean;
232 ----------------------
233 -- Search Functions --
234 ----------------------
236 function Index
237 (Source : in Bounded_Wide_String;
238 Pattern : in Wide_String;
239 Going : in Direction := Forward;
240 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
241 return Natural;
243 function Index
244 (Source : in Bounded_Wide_String;
245 Pattern : in Wide_String;
246 Going : in Direction := Forward;
247 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
248 return Natural;
250 function Index
251 (Source : in Bounded_Wide_String;
252 Set : in Wide_Maps.Wide_Character_Set;
253 Test : in Membership := Inside;
254 Going : in Direction := Forward)
255 return Natural;
257 function Index_Non_Blank
258 (Source : in Bounded_Wide_String;
259 Going : in Direction := Forward)
260 return Natural;
262 function Count
263 (Source : in Bounded_Wide_String;
264 Pattern : in Wide_String;
265 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
266 return Natural;
268 function Count
269 (Source : in Bounded_Wide_String;
270 Pattern : in Wide_String;
271 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
272 return Natural;
274 function Count
275 (Source : in Bounded_Wide_String;
276 Set : in Wide_Maps.Wide_Character_Set)
277 return Natural;
279 procedure Find_Token
280 (Source : in Bounded_Wide_String;
281 Set : in Wide_Maps.Wide_Character_Set;
282 Test : in Membership;
283 First : out Positive;
284 Last : out Natural);
286 ------------------------------------
287 -- Wide_String Translation Subprograms --
288 ------------------------------------
290 function Translate
291 (Source : in Bounded_Wide_String;
292 Mapping : in Wide_Maps.Wide_Character_Mapping)
293 return Bounded_Wide_String;
295 procedure Translate
296 (Source : in out Bounded_Wide_String;
297 Mapping : in Wide_Maps.Wide_Character_Mapping);
299 function Translate
300 (Source : in Bounded_Wide_String;
301 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
302 return Bounded_Wide_String;
304 procedure Translate
305 (Source : in out Bounded_Wide_String;
306 Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
308 ---------------------------------------
309 -- Wide_String Transformation Subprograms --
310 ---------------------------------------
312 function Replace_Slice
313 (Source : in Bounded_Wide_String;
314 Low : in Positive;
315 High : in Natural;
316 By : in Wide_String;
317 Drop : in Truncation := Error)
318 return Bounded_Wide_String;
320 procedure Replace_Slice
321 (Source : in out Bounded_Wide_String;
322 Low : in Positive;
323 High : in Natural;
324 By : in Wide_String;
325 Drop : in Truncation := Error);
327 function Insert
328 (Source : in Bounded_Wide_String;
329 Before : in Positive;
330 New_Item : in Wide_String;
331 Drop : in Truncation := Error)
332 return Bounded_Wide_String;
334 procedure Insert
335 (Source : in out Bounded_Wide_String;
336 Before : in Positive;
337 New_Item : in Wide_String;
338 Drop : in Truncation := Error);
340 function Overwrite
341 (Source : in Bounded_Wide_String;
342 Position : in Positive;
343 New_Item : in Wide_String;
344 Drop : in Truncation := Error)
345 return Bounded_Wide_String;
347 procedure Overwrite
348 (Source : in out Bounded_Wide_String;
349 Position : in Positive;
350 New_Item : in Wide_String;
351 Drop : in Truncation := Error);
353 function Delete
354 (Source : in Bounded_Wide_String;
355 From : in Positive;
356 Through : in Natural)
357 return Bounded_Wide_String;
359 procedure Delete
360 (Source : in out Bounded_Wide_String;
361 From : in Positive;
362 Through : in Natural);
364 ---------------------------------
365 -- Wide_String Selector Subprograms --
366 ---------------------------------
368 function Trim
369 (Source : in Bounded_Wide_String;
370 Side : in Trim_End)
371 return Bounded_Wide_String;
373 procedure Trim
374 (Source : in out Bounded_Wide_String;
375 Side : in Trim_End);
377 function Trim
378 (Source : in Bounded_Wide_String;
379 Left : in Wide_Maps.Wide_Character_Set;
380 Right : in Wide_Maps.Wide_Character_Set)
381 return Bounded_Wide_String;
383 procedure Trim
384 (Source : in out Bounded_Wide_String;
385 Left : in Wide_Maps.Wide_Character_Set;
386 Right : in Wide_Maps.Wide_Character_Set);
388 function Head
389 (Source : in Bounded_Wide_String;
390 Count : in Natural;
391 Pad : in Wide_Character := Wide_Space;
392 Drop : in Truncation := Error)
393 return Bounded_Wide_String;
395 procedure Head
396 (Source : in out Bounded_Wide_String;
397 Count : in Natural;
398 Pad : in Wide_Character := Wide_Space;
399 Drop : in Truncation := Error);
401 function Tail
402 (Source : in Bounded_Wide_String;
403 Count : in Natural;
404 Pad : in Wide_Character := Wide_Space;
405 Drop : in Truncation := Error)
406 return Bounded_Wide_String;
408 procedure Tail
409 (Source : in out Bounded_Wide_String;
410 Count : in Natural;
411 Pad : in Wide_Character := Wide_Space;
412 Drop : in Truncation := Error);
414 ------------------------------------
415 -- Wide_String Constructor Subprograms --
416 ------------------------------------
418 function "*"
419 (Left : in Natural;
420 Right : in Wide_Character)
421 return Bounded_Wide_String;
423 function "*"
424 (Left : in Natural;
425 Right : in Wide_String)
426 return Bounded_Wide_String;
428 function "*"
429 (Left : in Natural;
430 Right : in Bounded_Wide_String)
431 return Bounded_Wide_String;
433 function Replicate
434 (Count : in Natural;
435 Item : in Wide_Character;
436 Drop : in Truncation := Error)
437 return Bounded_Wide_String;
439 function Replicate
440 (Count : in Natural;
441 Item : in Wide_String;
442 Drop : in Truncation := Error)
443 return Bounded_Wide_String;
445 function Replicate
446 (Count : in Natural;
447 Item : in Bounded_Wide_String;
448 Drop : in Truncation := Error)
449 return Bounded_Wide_String;
451 private
453 -- Most of the implementation is in the non generic package
454 -- Ada.Strings.Superbounded. Type Bounded_Wide_String is derived from
455 -- type Wide_Superbounded.Super_String with the maximum length
456 -- constraint. Except for five, all subprograms are renames of
457 -- subprograms that are inherited from Wide_Superbounded.Super_String.
459 type Bounded_Wide_String is
460 new Wide_Superbounded.Super_String (Max_Length);
462 Null_Bounded_Wide_String : constant Bounded_Wide_String :=
463 (Max_Length => Max_Length,
464 Current_Length => 0,
465 Data => (1 .. Max_Length => Wide_Superbounded.Wide_NUL));
467 pragma Inline (To_Bounded_Wide_String);
469 function Length (Source : in Bounded_Wide_String) return Length_Range
470 renames Super_Length;
472 function To_Wide_String
473 (Source : in Bounded_Wide_String)
474 return Wide_String
475 renames Super_To_String;
477 function Append
478 (Left, Right : in Bounded_Wide_String;
479 Drop : in Truncation := Error)
480 return Bounded_Wide_String
481 renames Super_Append;
483 function Append
484 (Left : in Bounded_Wide_String;
485 Right : in Wide_String;
486 Drop : in Truncation := Error)
487 return Bounded_Wide_String
488 renames Super_Append;
490 function Append
491 (Left : in Wide_String;
492 Right : in Bounded_Wide_String;
493 Drop : in Truncation := Error)
494 return Bounded_Wide_String
495 renames Super_Append;
497 function Append
498 (Left : in Bounded_Wide_String;
499 Right : in Wide_Character;
500 Drop : in Truncation := Error)
501 return Bounded_Wide_String
502 renames Super_Append;
504 function Append
505 (Left : in Wide_Character;
506 Right : in Bounded_Wide_String;
507 Drop : in Truncation := Error)
508 return Bounded_Wide_String
509 renames Super_Append;
511 procedure Append
512 (Source : in out Bounded_Wide_String;
513 New_Item : in Bounded_Wide_String;
514 Drop : in Truncation := Error)
515 renames Super_Append;
517 procedure Append
518 (Source : in out Bounded_Wide_String;
519 New_Item : in Wide_String;
520 Drop : in Truncation := Error)
521 renames Super_Append;
523 procedure Append
524 (Source : in out Bounded_Wide_String;
525 New_Item : in Wide_Character;
526 Drop : in Truncation := Error)
527 renames Super_Append;
529 function "&"
530 (Left, Right : in Bounded_Wide_String)
531 return Bounded_Wide_String
532 renames Concat;
534 function "&"
535 (Left : in Bounded_Wide_String;
536 Right : in Wide_String)
537 return Bounded_Wide_String
538 renames Concat;
540 function "&"
541 (Left : in Wide_String;
542 Right : in Bounded_Wide_String)
543 return Bounded_Wide_String
544 renames Concat;
546 function "&"
547 (Left : in Bounded_Wide_String;
548 Right : in Wide_Character)
549 return Bounded_Wide_String
550 renames Concat;
552 function "&"
553 (Left : in Wide_Character;
554 Right : in Bounded_Wide_String)
555 return Bounded_Wide_String
556 renames Concat;
558 function Element
559 (Source : in Bounded_Wide_String;
560 Index : in Positive)
561 return Wide_Character
562 renames Super_Element;
564 procedure Replace_Element
565 (Source : in out Bounded_Wide_String;
566 Index : in Positive;
567 By : in Wide_Character)
568 renames Super_Replace_Element;
570 function Slice
571 (Source : in Bounded_Wide_String;
572 Low : in Positive;
573 High : in Natural)
574 return Wide_String
575 renames Super_Slice;
577 function "=" (Left, Right : in Bounded_Wide_String) return Boolean
578 renames Equal;
580 function "="
581 (Left : in Bounded_Wide_String;
582 Right : in Wide_String)
583 return Boolean
584 renames Equal;
586 function "="
587 (Left : in Wide_String;
588 Right : in Bounded_Wide_String)
589 return Boolean
590 renames Equal;
592 function "<" (Left, Right : in Bounded_Wide_String) return Boolean
593 renames Less;
595 function "<"
596 (Left : in Bounded_Wide_String;
597 Right : in Wide_String)
598 return Boolean
599 renames Less;
601 function "<"
602 (Left : in Wide_String;
603 Right : in Bounded_Wide_String)
604 return Boolean
605 renames Less;
607 function "<=" (Left, Right : in Bounded_Wide_String) return Boolean
608 renames Less_Or_Equal;
610 function "<="
611 (Left : in Bounded_Wide_String;
612 Right : in Wide_String)
613 return Boolean
614 renames Less_Or_Equal;
616 function "<="
617 (Left : in Wide_String;
618 Right : in Bounded_Wide_String)
619 return Boolean
620 renames Less_Or_Equal;
622 function ">" (Left, Right : in Bounded_Wide_String) return Boolean
623 renames Greater;
625 function ">"
626 (Left : in Bounded_Wide_String;
627 Right : in Wide_String)
628 return Boolean
629 renames Greater;
631 function ">"
632 (Left : in Wide_String;
633 Right : in Bounded_Wide_String)
634 return Boolean
635 renames Greater;
637 function ">=" (Left, Right : in Bounded_Wide_String) return Boolean
638 renames Greater_Or_Equal;
640 function ">="
641 (Left : in Bounded_Wide_String;
642 Right : in Wide_String)
643 return Boolean
644 renames Greater_Or_Equal;
646 function ">="
647 (Left : in Wide_String;
648 Right : in Bounded_Wide_String)
649 return Boolean
650 renames Greater_Or_Equal;
652 function Index
653 (Source : in Bounded_Wide_String;
654 Pattern : in Wide_String;
655 Going : in Direction := Forward;
656 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
657 return Natural
658 renames Super_Index;
660 function Index
661 (Source : in Bounded_Wide_String;
662 Pattern : in Wide_String;
663 Going : in Direction := Forward;
664 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
665 return Natural
666 renames Super_Index;
668 function Index
669 (Source : in Bounded_Wide_String;
670 Set : in Wide_Maps.Wide_Character_Set;
671 Test : in Membership := Inside;
672 Going : in Direction := Forward)
673 return Natural
674 renames Super_Index;
676 function Index_Non_Blank
677 (Source : in Bounded_Wide_String;
678 Going : in Direction := Forward)
679 return Natural
680 renames Super_Index_Non_Blank;
682 function Count
683 (Source : in Bounded_Wide_String;
684 Pattern : in Wide_String;
685 Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
686 return Natural
687 renames Super_Count;
689 function Count
690 (Source : in Bounded_Wide_String;
691 Pattern : in Wide_String;
692 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
693 return Natural
694 renames Super_Count;
696 function Count
697 (Source : in Bounded_Wide_String;
698 Set : in Wide_Maps.Wide_Character_Set)
699 return Natural
700 renames Super_Count;
702 procedure Find_Token
703 (Source : in Bounded_Wide_String;
704 Set : in Wide_Maps.Wide_Character_Set;
705 Test : in Membership;
706 First : out Positive;
707 Last : out Natural)
708 renames Super_Find_Token;
710 function Translate
711 (Source : in Bounded_Wide_String;
712 Mapping : in Wide_Maps.Wide_Character_Mapping)
713 return Bounded_Wide_String
714 renames Super_Translate;
716 procedure Translate
717 (Source : in out Bounded_Wide_String;
718 Mapping : in Wide_Maps.Wide_Character_Mapping)
719 renames Super_Translate;
721 function Translate
722 (Source : in Bounded_Wide_String;
723 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
724 return Bounded_Wide_String
725 renames Super_Translate;
727 procedure Translate
728 (Source : in out Bounded_Wide_String;
729 Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
730 renames Super_Translate;
732 function Replace_Slice
733 (Source : in Bounded_Wide_String;
734 Low : in Positive;
735 High : in Natural;
736 By : in Wide_String;
737 Drop : in Truncation := Error)
738 return Bounded_Wide_String
739 renames Super_Replace_Slice;
741 procedure Replace_Slice
742 (Source : in out Bounded_Wide_String;
743 Low : in Positive;
744 High : in Natural;
745 By : in Wide_String;
746 Drop : in Truncation := Error)
747 renames Super_Replace_Slice;
749 function Insert
750 (Source : in Bounded_Wide_String;
751 Before : in Positive;
752 New_Item : in Wide_String;
753 Drop : in Truncation := Error)
754 return Bounded_Wide_String
755 renames Super_Insert;
757 procedure Insert
758 (Source : in out Bounded_Wide_String;
759 Before : in Positive;
760 New_Item : in Wide_String;
761 Drop : in Truncation := Error)
762 renames Super_Insert;
764 function Overwrite
765 (Source : in Bounded_Wide_String;
766 Position : in Positive;
767 New_Item : in Wide_String;
768 Drop : in Truncation := Error)
769 return Bounded_Wide_String
770 renames Super_Overwrite;
772 procedure Overwrite
773 (Source : in out Bounded_Wide_String;
774 Position : in Positive;
775 New_Item : in Wide_String;
776 Drop : in Truncation := Error)
777 renames Super_Overwrite;
779 function Delete
780 (Source : in Bounded_Wide_String;
781 From : in Positive;
782 Through : in Natural)
783 return Bounded_Wide_String
784 renames Super_Delete;
786 procedure Delete
787 (Source : in out Bounded_Wide_String;
788 From : in Positive;
789 Through : in Natural)
790 renames Super_Delete;
792 function Trim
793 (Source : in Bounded_Wide_String;
794 Side : in Trim_End)
795 return Bounded_Wide_String
796 renames Super_Trim;
798 procedure Trim
799 (Source : in out Bounded_Wide_String;
800 Side : in Trim_End)
801 renames Super_Trim;
803 function Trim
804 (Source : in Bounded_Wide_String;
805 Left : in Wide_Maps.Wide_Character_Set;
806 Right : in Wide_Maps.Wide_Character_Set)
807 return Bounded_Wide_String
808 renames Super_Trim;
810 procedure Trim
811 (Source : in out Bounded_Wide_String;
812 Left : in Wide_Maps.Wide_Character_Set;
813 Right : in Wide_Maps.Wide_Character_Set)
814 renames Super_Trim;
816 function Head
817 (Source : in Bounded_Wide_String;
818 Count : in Natural;
819 Pad : in Wide_Character := Wide_Space;
820 Drop : in Truncation := Error)
821 return Bounded_Wide_String
822 renames Super_Head;
824 procedure Head
825 (Source : in out Bounded_Wide_String;
826 Count : in Natural;
827 Pad : in Wide_Character := Wide_Space;
828 Drop : in Truncation := Error)
829 renames Super_Head;
831 function Tail
832 (Source : in Bounded_Wide_String;
833 Count : in Natural;
834 Pad : in Wide_Character := Wide_Space;
835 Drop : in Truncation := Error)
836 return Bounded_Wide_String
837 renames Super_Tail;
839 procedure Tail
840 (Source : in out Bounded_Wide_String;
841 Count : in Natural;
842 Pad : in Wide_Character := Wide_Space;
843 Drop : in Truncation := Error)
844 renames Super_Tail;
846 function "*"
847 (Left : in Natural;
848 Right : in Bounded_Wide_String)
849 return Bounded_Wide_String
850 renames Times;
852 function Replicate
853 (Count : in Natural;
854 Item : in Bounded_Wide_String;
855 Drop : in Truncation := Error)
856 return Bounded_Wide_String
857 renames Super_Replicate;
859 end Generic_Bounded_Length;
861 end Ada.Strings.Wide_Bounded;