OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [a-strbou.ads] - Blame information for rev 750

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 706 jeremybenn
------------------------------------------------------------------------------
2
--                                                                          --
3
--                         GNAT RUN-TIME COMPONENTS                         --
4
--                                                                          --
5
--                  A D A . S T R I N G S . B O U N D E D                   --
6
--                                                                          --
7
--                                 S p e c                                  --
8
--                                                                          --
9
--          Copyright (C) 1992-2010, 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 3,  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.                                     --
21
--                                                                          --
22
-- As a special exception under Section 7 of GPL version 3, you are granted --
23
-- additional permissions described in the GCC Runtime Library Exception,   --
24
-- version 3.1, as published by the Free Software Foundation.               --
25
--                                                                          --
26
-- You should have received a copy of the GNU General Public License and    --
27
-- a copy of the GCC Runtime Library Exception along with this program;     --
28
-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
29
-- <http://www.gnu.org/licenses/>.                                          --
30
--                                                                          --
31
-- GNAT was originally developed  by the GNAT team at  New York University. --
32
-- Extensive contributions were provided by Ada Core Technologies Inc.      --
33
--                                                                          --
34
------------------------------------------------------------------------------
35
 
36
with Ada.Strings.Maps;
37
with Ada.Strings.Superbounded;
38
 
39
package Ada.Strings.Bounded is
40
   pragma Preelaborate;
41
 
42
   generic
43
      Max : Positive;
44
      --  Maximum length of a Bounded_String
45
 
46
   package Generic_Bounded_Length is
47
 
48
      Max_Length : constant Positive := Max;
49
 
50
      type Bounded_String is private;
51
      pragma Preelaborable_Initialization (Bounded_String);
52
 
53
      Null_Bounded_String : constant Bounded_String;
54
 
55
      subtype Length_Range is Natural range 0 .. Max_Length;
56
 
57
      function Length (Source : Bounded_String) return Length_Range;
58
 
59
      --------------------------------------------------------
60
      -- Conversion, Concatenation, and Selection Functions --
61
      --------------------------------------------------------
62
 
63
      function To_Bounded_String
64
        (Source : String;
65
         Drop   : Truncation := Error) return Bounded_String;
66
 
67
      function To_String (Source : Bounded_String) return String;
68
 
69
      procedure Set_Bounded_String
70
        (Target : out Bounded_String;
71
         Source : String;
72
         Drop   : Truncation := Error);
73
      pragma Ada_05 (Set_Bounded_String);
74
 
75
      function Append
76
        (Left  : Bounded_String;
77
         Right : Bounded_String;
78
         Drop  : Truncation  := Error) return Bounded_String;
79
 
80
      function Append
81
        (Left  : Bounded_String;
82
         Right : String;
83
         Drop  : Truncation := Error) return Bounded_String;
84
 
85
      function Append
86
        (Left  : String;
87
         Right : Bounded_String;
88
         Drop  : Truncation := Error) return Bounded_String;
89
 
90
      function Append
91
        (Left  : Bounded_String;
92
         Right : Character;
93
         Drop  : Truncation := Error) return Bounded_String;
94
 
95
      function Append
96
        (Left  : Character;
97
         Right : Bounded_String;
98
         Drop  : Truncation := Error) return Bounded_String;
99
 
100
      procedure Append
101
        (Source   : in out Bounded_String;
102
         New_Item : Bounded_String;
103
         Drop     : Truncation  := Error);
104
 
105
      procedure Append
106
        (Source   : in out Bounded_String;
107
         New_Item : String;
108
         Drop     : Truncation  := Error);
109
 
110
      procedure Append
111
        (Source   : in out Bounded_String;
112
         New_Item : Character;
113
         Drop     : Truncation  := Error);
114
 
115
      function "&"
116
        (Left  : Bounded_String;
117
         Right : Bounded_String) return Bounded_String;
118
 
119
      function "&"
120
        (Left  : Bounded_String;
121
         Right : String) return Bounded_String;
122
 
123
      function "&"
124
        (Left  : String;
125
         Right : Bounded_String) return Bounded_String;
126
 
127
      function "&"
128
        (Left  : Bounded_String;
129
         Right : Character) return Bounded_String;
130
 
131
      function "&"
132
        (Left  : Character;
133
         Right : Bounded_String) return Bounded_String;
134
 
135
      function Element
136
        (Source : Bounded_String;
137
         Index  : Positive) return Character;
138
 
139
      procedure Replace_Element
140
        (Source : in out Bounded_String;
141
         Index  : Positive;
142
         By     : Character);
143
 
144
      function Slice
145
        (Source : Bounded_String;
146
         Low    : Positive;
147
         High   : Natural) return String;
148
 
149
      function Bounded_Slice
150
        (Source : Bounded_String;
151
         Low    : Positive;
152
         High   : Natural) return Bounded_String;
153
      pragma Ada_05 (Bounded_Slice);
154
 
155
      procedure Bounded_Slice
156
        (Source : Bounded_String;
157
         Target : out Bounded_String;
158
         Low    : Positive;
159
         High   : Natural);
160
      pragma Ada_05 (Bounded_Slice);
161
 
162
      function "="
163
        (Left  : Bounded_String;
164
         Right : Bounded_String) return Boolean;
165
 
166
      function "="
167
        (Left  : Bounded_String;
168
         Right : String) return Boolean;
169
 
170
      function "="
171
        (Left  : String;
172
         Right : Bounded_String) return Boolean;
173
 
174
      function "<"
175
        (Left  : Bounded_String;
176
         Right : Bounded_String) return Boolean;
177
 
178
      function "<"
179
        (Left  : Bounded_String;
180
         Right : String) return Boolean;
181
 
182
      function "<"
183
        (Left  : String;
184
         Right : Bounded_String) return Boolean;
185
 
186
      function "<="
187
        (Left  : Bounded_String;
188
         Right : Bounded_String) return Boolean;
189
 
190
      function "<="
191
        (Left  : Bounded_String;
192
         Right : String) return Boolean;
193
 
194
      function "<="
195
        (Left  : String;
196
         Right : Bounded_String) return Boolean;
197
 
198
      function ">"
199
        (Left  : Bounded_String;
200
         Right : Bounded_String) return Boolean;
201
 
202
      function ">"
203
        (Left  : Bounded_String;
204
         Right : String) return Boolean;
205
 
206
      function ">"
207
        (Left  : String;
208
         Right : Bounded_String) return Boolean;
209
 
210
      function ">="
211
        (Left  : Bounded_String;
212
         Right : Bounded_String) return Boolean;
213
 
214
      function ">="
215
        (Left  : Bounded_String;
216
         Right : String) return Boolean;
217
 
218
      function ">="
219
        (Left  : String;
220
         Right : Bounded_String) return Boolean;
221
 
222
      ----------------------
223
      -- Search Functions --
224
      ----------------------
225
 
226
      function Index
227
        (Source  : Bounded_String;
228
         Pattern : String;
229
         Going   : Direction := Forward;
230
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
231
 
232
      function Index
233
        (Source  : Bounded_String;
234
         Pattern : String;
235
         Going   : Direction := Forward;
236
         Mapping : Maps.Character_Mapping_Function) return Natural;
237
 
238
      function Index
239
        (Source : Bounded_String;
240
         Set    : Maps.Character_Set;
241
         Test   : Membership := Inside;
242
         Going  : Direction  := Forward) return Natural;
243
 
244
      function Index
245
        (Source  : Bounded_String;
246
         Pattern : String;
247
         From    : Positive;
248
         Going   : Direction := Forward;
249
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
250
      pragma Ada_05 (Index);
251
 
252
      function Index
253
        (Source  : Bounded_String;
254
         Pattern : String;
255
         From    : Positive;
256
         Going   : Direction := Forward;
257
         Mapping : Maps.Character_Mapping_Function) return Natural;
258
      pragma Ada_05 (Index);
259
 
260
      function Index
261
        (Source  : Bounded_String;
262
         Set     : Maps.Character_Set;
263
         From    : Positive;
264
         Test    : Membership := Inside;
265
         Going   : Direction := Forward) return Natural;
266
      pragma Ada_05 (Index);
267
 
268
      function Index_Non_Blank
269
        (Source : Bounded_String;
270
         Going  : Direction := Forward) return Natural;
271
 
272
      function Index_Non_Blank
273
        (Source : Bounded_String;
274
         From   : Positive;
275
         Going  : Direction := Forward) return Natural;
276
      pragma Ada_05 (Index_Non_Blank);
277
 
278
      function Count
279
        (Source  : Bounded_String;
280
         Pattern : String;
281
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural;
282
 
283
      function Count
284
        (Source  : Bounded_String;
285
         Pattern : String;
286
         Mapping : Maps.Character_Mapping_Function) return Natural;
287
 
288
      function Count
289
        (Source : Bounded_String;
290
         Set    : Maps.Character_Set) return Natural;
291
 
292
      procedure Find_Token
293
        (Source : Bounded_String;
294
         Set    : Maps.Character_Set;
295
         From   : Positive;
296
         Test   : Membership;
297
         First  : out Positive;
298
         Last   : out Natural);
299
      pragma Ada_2012 (Find_Token);
300
 
301
      procedure Find_Token
302
        (Source : Bounded_String;
303
         Set    : Maps.Character_Set;
304
         Test   : Membership;
305
         First  : out Positive;
306
         Last   : out Natural);
307
 
308
      ------------------------------------
309
      -- String Translation Subprograms --
310
      ------------------------------------
311
 
312
      function Translate
313
        (Source  : Bounded_String;
314
         Mapping : Maps.Character_Mapping) return Bounded_String;
315
 
316
      procedure Translate
317
        (Source   : in out Bounded_String;
318
         Mapping  : Maps.Character_Mapping);
319
 
320
      function Translate
321
        (Source  : Bounded_String;
322
         Mapping : Maps.Character_Mapping_Function) return Bounded_String;
323
 
324
      procedure Translate
325
        (Source  : in out Bounded_String;
326
         Mapping : Maps.Character_Mapping_Function);
327
 
328
      ---------------------------------------
329
      -- String Transformation Subprograms --
330
      ---------------------------------------
331
 
332
      function Replace_Slice
333
        (Source : Bounded_String;
334
         Low    : Positive;
335
         High   : Natural;
336
         By     : String;
337
         Drop   : Truncation := Error) return Bounded_String;
338
 
339
      procedure Replace_Slice
340
        (Source   : in out Bounded_String;
341
         Low      : Positive;
342
         High     : Natural;
343
         By       : String;
344
         Drop     : Truncation := Error);
345
 
346
      function Insert
347
        (Source   : Bounded_String;
348
         Before   : Positive;
349
         New_Item : String;
350
         Drop     : Truncation := Error) return Bounded_String;
351
 
352
      procedure Insert
353
        (Source   : in out Bounded_String;
354
         Before   : Positive;
355
         New_Item : String;
356
         Drop     : Truncation := Error);
357
 
358
      function Overwrite
359
        (Source   : Bounded_String;
360
         Position : Positive;
361
         New_Item : String;
362
         Drop     : Truncation := Error) return Bounded_String;
363
 
364
      procedure Overwrite
365
        (Source    : in out Bounded_String;
366
         Position  : Positive;
367
         New_Item  : String;
368
         Drop      : Truncation := Error);
369
 
370
      function Delete
371
        (Source  : Bounded_String;
372
         From    : Positive;
373
         Through : Natural) return Bounded_String;
374
 
375
      procedure Delete
376
        (Source  : in out Bounded_String;
377
         From    : Positive;
378
         Through : Natural);
379
 
380
      ---------------------------------
381
      -- String Selector Subprograms --
382
      ---------------------------------
383
 
384
      function Trim
385
        (Source : Bounded_String;
386
         Side   : Trim_End) return Bounded_String;
387
 
388
      procedure Trim
389
        (Source : in out Bounded_String;
390
         Side   : Trim_End);
391
 
392
      function Trim
393
        (Source : Bounded_String;
394
          Left  : Maps.Character_Set;
395
          Right : Maps.Character_Set) return Bounded_String;
396
 
397
      procedure Trim
398
        (Source : in out Bounded_String;
399
         Left   : Maps.Character_Set;
400
         Right  : Maps.Character_Set);
401
 
402
      function Head
403
        (Source : Bounded_String;
404
         Count  : Natural;
405
         Pad    : Character := Space;
406
         Drop   : Truncation := Error) return Bounded_String;
407
 
408
      procedure Head
409
        (Source : in out Bounded_String;
410
         Count  : Natural;
411
         Pad    : Character  := Space;
412
         Drop   : Truncation := Error);
413
 
414
      function Tail
415
        (Source : Bounded_String;
416
         Count  : Natural;
417
         Pad    : Character  := Space;
418
         Drop   : Truncation := Error) return Bounded_String;
419
 
420
      procedure Tail
421
        (Source : in out Bounded_String;
422
         Count  : Natural;
423
         Pad    : Character  := Space;
424
         Drop   : Truncation := Error);
425
 
426
      ------------------------------------
427
      -- String Constructor Subprograms --
428
      ------------------------------------
429
 
430
      function "*"
431
        (Left  : Natural;
432
         Right : Character) return Bounded_String;
433
 
434
      function "*"
435
        (Left  : Natural;
436
         Right : String) return Bounded_String;
437
 
438
      function "*"
439
        (Left  : Natural;
440
         Right : Bounded_String) return Bounded_String;
441
 
442
      function Replicate
443
        (Count : Natural;
444
         Item  : Character;
445
         Drop  : Truncation := Error) return Bounded_String;
446
 
447
      function Replicate
448
        (Count : Natural;
449
         Item  : String;
450
         Drop  : Truncation := Error) return Bounded_String;
451
 
452
      function Replicate
453
        (Count : Natural;
454
         Item  : Bounded_String;
455
         Drop  : Truncation := Error) return Bounded_String;
456
 
457
   private
458
      --  Most of the implementation is in the separate non generic package
459
      --  Ada.Strings.Superbounded. Type Bounded_String is derived from type
460
      --  Superbounded.Super_String with the maximum length constraint. In
461
      --  almost all cases, the routines in Superbounded can be called with
462
      --  no requirement to pass the maximum length explicitly, since there
463
      --  is at least one Bounded_String argument from which the maximum
464
      --  length can be obtained. For all such routines, the implementation
465
      --  in this private part is simply a renaming of the corresponding
466
      --  routine in the superbounded package.
467
 
468
      --  The five exceptions are the * and Replicate routines operating on
469
      --  character values. For these cases, we have a routine in the body
470
      --  that calls the superbounded routine passing the maximum length
471
      --  explicitly as an extra parameter.
472
 
473
      type Bounded_String is new Superbounded.Super_String (Max_Length);
474
      --  Deriving Bounded_String from Superbounded.Super_String is the
475
      --  real trick, it ensures that the type Bounded_String declared in
476
      --  the generic instantiation is compatible with the Super_String
477
      --  type declared in the Superbounded package.
478
 
479
      function From_String (Source : String) return Bounded_String;
480
      --  Private routine used only by Stream_Convert
481
 
482
      pragma Stream_Convert (Bounded_String, From_String, To_String);
483
      --  Provide stream routines without dragging in Ada.Streams
484
 
485
      Null_Bounded_String : constant Bounded_String :=
486
                              (Max_Length     => Max_Length,
487
                               Current_Length => 0,
488
                               Data           =>
489
                                 (1 .. Max_Length => ASCII.NUL));
490
 
491
      pragma Inline (To_Bounded_String);
492
 
493
      procedure Set_Bounded_String
494
        (Target : out Bounded_String;
495
         Source : String;
496
         Drop   : Truncation := Error)
497
         renames Set_Super_String;
498
 
499
      function Length
500
        (Source : Bounded_String) return Length_Range
501
         renames Super_Length;
502
 
503
      function To_String
504
        (Source : Bounded_String) return String
505
         renames Super_To_String;
506
 
507
      function Append
508
        (Left  : Bounded_String;
509
         Right : Bounded_String;
510
         Drop  : Truncation  := Error) return Bounded_String
511
         renames Super_Append;
512
 
513
      function Append
514
        (Left  : Bounded_String;
515
         Right : String;
516
         Drop  : Truncation := Error) return Bounded_String
517
         renames Super_Append;
518
 
519
      function Append
520
        (Left  : String;
521
         Right : Bounded_String;
522
         Drop  : Truncation := Error) return Bounded_String
523
         renames Super_Append;
524
 
525
      function Append
526
        (Left  : Bounded_String;
527
         Right : Character;
528
         Drop  : Truncation := Error) return Bounded_String
529
         renames Super_Append;
530
 
531
      function Append
532
        (Left  : Character;
533
         Right : Bounded_String;
534
         Drop  : Truncation := Error) return Bounded_String
535
         renames Super_Append;
536
 
537
      procedure Append
538
        (Source   : in out Bounded_String;
539
         New_Item : Bounded_String;
540
         Drop     : Truncation  := Error)
541
         renames Super_Append;
542
 
543
      procedure Append
544
        (Source   : in out Bounded_String;
545
         New_Item : String;
546
         Drop     : Truncation  := Error)
547
         renames Super_Append;
548
 
549
      procedure Append
550
        (Source   : in out Bounded_String;
551
         New_Item : Character;
552
         Drop     : Truncation  := Error)
553
         renames Super_Append;
554
 
555
      function "&"
556
        (Left  : Bounded_String;
557
         Right : Bounded_String) return Bounded_String
558
         renames Concat;
559
 
560
      function "&"
561
        (Left  : Bounded_String;
562
         Right : String) return Bounded_String
563
         renames Concat;
564
 
565
      function "&"
566
        (Left  : String;
567
         Right : Bounded_String) return Bounded_String
568
         renames Concat;
569
 
570
      function "&"
571
        (Left  : Bounded_String;
572
         Right : Character) return Bounded_String
573
         renames Concat;
574
 
575
      function "&"
576
        (Left  : Character;
577
         Right : Bounded_String) return Bounded_String
578
         renames Concat;
579
 
580
      function Element
581
        (Source : Bounded_String;
582
         Index  : Positive) return Character
583
         renames Super_Element;
584
 
585
      procedure Replace_Element
586
        (Source : in out Bounded_String;
587
         Index  : Positive;
588
         By     : Character)
589
         renames Super_Replace_Element;
590
 
591
      function Slice
592
        (Source : Bounded_String;
593
         Low    : Positive;
594
         High   : Natural) return String
595
         renames Super_Slice;
596
 
597
      function Bounded_Slice
598
        (Source : Bounded_String;
599
         Low    : Positive;
600
         High   : Natural) return Bounded_String
601
         renames Super_Slice;
602
 
603
      procedure Bounded_Slice
604
        (Source : Bounded_String;
605
         Target : out Bounded_String;
606
         Low    : Positive;
607
         High   : Natural)
608
         renames Super_Slice;
609
 
610
      function "="
611
        (Left  : Bounded_String;
612
         Right : Bounded_String) return Boolean
613
         renames Equal;
614
 
615
      function "="
616
        (Left  : Bounded_String;
617
         Right : String) return Boolean
618
         renames Equal;
619
 
620
      function "="
621
        (Left  : String;
622
         Right : Bounded_String) return Boolean
623
         renames Equal;
624
 
625
      function "<"
626
        (Left  : Bounded_String;
627
         Right : Bounded_String) return Boolean
628
         renames Less;
629
 
630
      function "<"
631
        (Left  : Bounded_String;
632
         Right : String) return Boolean
633
         renames Less;
634
 
635
      function "<"
636
        (Left  : String;
637
         Right : Bounded_String) return Boolean
638
         renames Less;
639
 
640
      function "<="
641
        (Left  : Bounded_String;
642
         Right : Bounded_String) return Boolean
643
         renames Less_Or_Equal;
644
 
645
      function "<="
646
        (Left  : Bounded_String;
647
         Right : String) return Boolean
648
         renames Less_Or_Equal;
649
 
650
      function "<="
651
        (Left  : String;
652
         Right : Bounded_String) return Boolean
653
         renames Less_Or_Equal;
654
 
655
      function ">"
656
        (Left  : Bounded_String;
657
         Right : Bounded_String) return Boolean
658
         renames Greater;
659
 
660
      function ">"
661
        (Left  : Bounded_String;
662
         Right : String) return Boolean
663
         renames Greater;
664
 
665
      function ">"
666
        (Left  : String;
667
         Right : Bounded_String) return Boolean
668
         renames Greater;
669
 
670
      function ">="
671
        (Left  : Bounded_String;
672
         Right : Bounded_String) return Boolean
673
         renames Greater_Or_Equal;
674
 
675
      function ">="
676
        (Left  : Bounded_String;
677
         Right : String) return Boolean
678
         renames Greater_Or_Equal;
679
 
680
      function ">="
681
        (Left  : String;
682
         Right : Bounded_String) return Boolean
683
         renames Greater_Or_Equal;
684
 
685
      function Index
686
        (Source  : Bounded_String;
687
         Pattern : String;
688
         Going   : Direction := Forward;
689
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural
690
         renames Super_Index;
691
 
692
      function Index
693
        (Source  : Bounded_String;
694
         Pattern : String;
695
         Going   : Direction := Forward;
696
         Mapping : Maps.Character_Mapping_Function) return Natural
697
         renames Super_Index;
698
 
699
      function Index
700
        (Source : Bounded_String;
701
         Set    : Maps.Character_Set;
702
         Test   : Membership := Inside;
703
         Going  : Direction  := Forward) return Natural
704
         renames Super_Index;
705
 
706
      function Index
707
        (Source  : Bounded_String;
708
         Pattern : String;
709
         From    : Positive;
710
         Going   : Direction := Forward;
711
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural
712
         renames Super_Index;
713
 
714
      function Index
715
        (Source  : Bounded_String;
716
         Pattern : String;
717
         From    : Positive;
718
         Going   : Direction := Forward;
719
         Mapping : Maps.Character_Mapping_Function) return Natural
720
      renames Super_Index;
721
 
722
      function Index
723
        (Source  : Bounded_String;
724
         Set     : Maps.Character_Set;
725
         From    : Positive;
726
         Test    : Membership := Inside;
727
         Going   : Direction := Forward) return Natural
728
      renames Super_Index;
729
 
730
      function Index_Non_Blank
731
        (Source : Bounded_String;
732
         Going  : Direction := Forward) return Natural
733
         renames Super_Index_Non_Blank;
734
 
735
      function Index_Non_Blank
736
        (Source : Bounded_String;
737
         From   : Positive;
738
         Going  : Direction := Forward) return Natural
739
         renames Super_Index_Non_Blank;
740
 
741
      function Count
742
        (Source  : Bounded_String;
743
         Pattern : String;
744
         Mapping : Maps.Character_Mapping := Maps.Identity) return Natural
745
         renames Super_Count;
746
 
747
      function Count
748
        (Source  : Bounded_String;
749
         Pattern : String;
750
         Mapping : Maps.Character_Mapping_Function) return Natural
751
         renames Super_Count;
752
 
753
      function Count
754
        (Source : Bounded_String;
755
         Set    : Maps.Character_Set) return Natural
756
         renames Super_Count;
757
 
758
      procedure Find_Token
759
        (Source : Bounded_String;
760
         Set    : Maps.Character_Set;
761
         From   : Positive;
762
         Test   : Membership;
763
         First  : out Positive;
764
         Last   : out Natural)
765
         renames Super_Find_Token;
766
 
767
      procedure Find_Token
768
        (Source : Bounded_String;
769
         Set    : Maps.Character_Set;
770
         Test   : Membership;
771
         First  : out Positive;
772
         Last   : out Natural)
773
         renames Super_Find_Token;
774
 
775
      function Translate
776
        (Source  : Bounded_String;
777
         Mapping : Maps.Character_Mapping) return Bounded_String
778
         renames Super_Translate;
779
 
780
      procedure Translate
781
        (Source   : in out Bounded_String;
782
         Mapping  : Maps.Character_Mapping)
783
         renames Super_Translate;
784
 
785
      function Translate
786
        (Source  : Bounded_String;
787
         Mapping : Maps.Character_Mapping_Function) return Bounded_String
788
         renames Super_Translate;
789
 
790
      procedure Translate
791
        (Source  : in out Bounded_String;
792
         Mapping : Maps.Character_Mapping_Function)
793
         renames Super_Translate;
794
 
795
      function Replace_Slice
796
        (Source : Bounded_String;
797
         Low    : Positive;
798
         High   : Natural;
799
         By     : String;
800
         Drop   : Truncation := Error) return Bounded_String
801
         renames Super_Replace_Slice;
802
 
803
      procedure Replace_Slice
804
        (Source   : in out Bounded_String;
805
         Low      : Positive;
806
         High     : Natural;
807
         By       : String;
808
         Drop     : Truncation := Error)
809
         renames Super_Replace_Slice;
810
 
811
      function Insert
812
        (Source   : Bounded_String;
813
         Before   : Positive;
814
         New_Item : String;
815
         Drop     : Truncation := Error) return Bounded_String
816
         renames Super_Insert;
817
 
818
      procedure Insert
819
        (Source   : in out Bounded_String;
820
         Before   : Positive;
821
         New_Item : String;
822
         Drop     : Truncation := Error)
823
         renames Super_Insert;
824
 
825
      function Overwrite
826
        (Source   : Bounded_String;
827
         Position : Positive;
828
         New_Item : String;
829
         Drop     : Truncation := Error) return Bounded_String
830
         renames Super_Overwrite;
831
 
832
      procedure Overwrite
833
        (Source    : in out Bounded_String;
834
         Position  : Positive;
835
         New_Item  : String;
836
         Drop      : Truncation := Error)
837
         renames Super_Overwrite;
838
 
839
      function Delete
840
        (Source  : Bounded_String;
841
         From    : Positive;
842
         Through : Natural) return Bounded_String
843
         renames Super_Delete;
844
 
845
      procedure Delete
846
        (Source  : in out Bounded_String;
847
         From    : Positive;
848
         Through : Natural)
849
         renames Super_Delete;
850
 
851
      function Trim
852
        (Source : Bounded_String;
853
         Side   : Trim_End) return Bounded_String
854
         renames Super_Trim;
855
 
856
      procedure Trim
857
        (Source : in out Bounded_String;
858
         Side   : Trim_End)
859
         renames Super_Trim;
860
 
861
      function Trim
862
        (Source : Bounded_String;
863
         Left   : Maps.Character_Set;
864
         Right  : Maps.Character_Set) return Bounded_String
865
         renames Super_Trim;
866
 
867
      procedure Trim
868
        (Source : in out Bounded_String;
869
         Left   : Maps.Character_Set;
870
         Right  : Maps.Character_Set)
871
         renames Super_Trim;
872
 
873
      function Head
874
        (Source : Bounded_String;
875
         Count  : Natural;
876
         Pad    : Character := Space;
877
         Drop   : Truncation := Error) return Bounded_String
878
         renames Super_Head;
879
 
880
      procedure Head
881
        (Source : in out Bounded_String;
882
         Count  : Natural;
883
         Pad    : Character  := Space;
884
         Drop   : Truncation := Error)
885
         renames Super_Head;
886
 
887
      function Tail
888
        (Source : Bounded_String;
889
         Count  : Natural;
890
         Pad    : Character  := Space;
891
         Drop   : Truncation := Error) return Bounded_String
892
         renames Super_Tail;
893
 
894
      procedure Tail
895
        (Source : in out Bounded_String;
896
         Count  : Natural;
897
         Pad    : Character  := Space;
898
         Drop   : Truncation := Error)
899
         renames Super_Tail;
900
 
901
      function "*"
902
        (Left  : Natural;
903
         Right : Bounded_String) return Bounded_String
904
         renames Times;
905
 
906
      function Replicate
907
        (Count : Natural;
908
         Item  : Bounded_String;
909
         Drop  : Truncation := Error) return Bounded_String
910
         renames Super_Replicate;
911
 
912
   end Generic_Bounded_Length;
913
 
914
end Ada.Strings.Bounded;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.