]>
Commit | Line | Data |
---|---|---|
d23b8f57 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT RUN-TIME COMPONENTS -- | |
4 | -- -- | |
5 | -- A D A . S T R I N G S . S E A R C H -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
fbf5a39b | 9 | -- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- |
d23b8f57 | 10 | -- -- |
d23b8f57 RK |
11 | -- GNAT is free software; you can redistribute it and/or modify it under -- |
12 | -- terms of the GNU General Public License as published by the Free Soft- -- | |
13 | -- ware Foundation; either version 2, or (at your option) any later ver- -- | |
14 | -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | |
15 | -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
16 | -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
17 | -- for more details. You should have received a copy of the GNU General -- | |
18 | -- Public License distributed with GNAT; see file COPYING. If not, write -- | |
19 | -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- | |
20 | -- MA 02111-1307, USA. -- | |
21 | -- -- | |
22 | -- As a special exception, if other files instantiate generics from this -- | |
23 | -- unit, or you link this unit with other files to produce an executable, -- | |
24 | -- this unit does not by itself cause the resulting executable to be -- | |
25 | -- covered by the GNU General Public License. This exception does not -- | |
26 | -- however invalidate any other reasons why the executable file might be -- | |
27 | -- covered by the GNU Public License. -- | |
28 | -- -- | |
29 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
71ff80dc | 30 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
d23b8f57 RK |
31 | -- -- |
32 | ------------------------------------------------------------------------------ | |
33 | ||
34 | -- This package contains the search functions from Ada.Strings.Fixed. They | |
35 | -- are separated out because they are shared by Ada.Strings.Bounded and | |
36 | -- Ada.Strings.Unbounded, and we don't want to drag other irrelevant stuff | |
37 | -- from Ada.Strings.Fixed when using the other two packages. We make this | |
38 | -- a private package, since user programs should access these subprograms | |
39 | -- via one of the standard string packages. | |
40 | ||
41 | with Ada.Strings.Maps; | |
42 | ||
43 | private package Ada.Strings.Search is | |
44 | pragma Preelaborate (Search); | |
45 | ||
46 | function Index | |
47 | (Source : in String; | |
48 | Pattern : in String; | |
49 | Going : in Direction := Forward; | |
50 | Mapping : in Maps.Character_Mapping := Maps.Identity) | |
51 | return Natural; | |
52 | ||
53 | function Index | |
54 | (Source : in String; | |
55 | Pattern : in String; | |
56 | Going : in Direction := Forward; | |
57 | Mapping : in Maps.Character_Mapping_Function) | |
58 | return Natural; | |
59 | ||
60 | function Index | |
61 | (Source : in String; | |
62 | Set : in Maps.Character_Set; | |
63 | Test : in Membership := Inside; | |
64 | Going : in Direction := Forward) | |
65 | return Natural; | |
66 | ||
67 | function Index_Non_Blank | |
68 | (Source : in String; | |
69 | Going : in Direction := Forward) | |
70 | return Natural; | |
71 | ||
72 | function Count | |
73 | (Source : in String; | |
74 | Pattern : in String; | |
75 | Mapping : in Maps.Character_Mapping := Maps.Identity) | |
76 | return Natural; | |
77 | ||
78 | function Count | |
79 | (Source : in String; | |
80 | Pattern : in String; | |
81 | Mapping : in Maps.Character_Mapping_Function) | |
82 | return Natural; | |
83 | ||
84 | function Count | |
85 | (Source : in String; | |
86 | Set : in Maps.Character_Set) | |
87 | return Natural; | |
88 | ||
89 | ||
90 | procedure Find_Token | |
91 | (Source : in String; | |
92 | Set : in Maps.Character_Set; | |
93 | Test : in Membership; | |
94 | First : out Positive; | |
95 | Last : out Natural); | |
96 | ||
97 | end Ada.Strings.Search; |