0024927: Getting rid of "Persistent" functionality -- Code
[occt.git] / src / PCollection / PCollection_HExtendedString.cdl
1 -- Created on: 1993-02-10
2 -- Created by: Mireille MERCIEN
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class HExtendedString from PCollection 
18         inherits Persistent    
19            
20         ---Purpose: Describes a persistent Unicode character string
21         -- of a variable length.
22
23
24 uses       VArrayOfExtCharacter from DBC,
25            ExtendedString from TCollection,
26            HAsciiString from PCollection 
27             
28
29     raises OutOfRange from Standard, 
30            NegativeValue from Standard,
31            NumericError from Standard
32 is
33                 
34
35         Create(S : ExtendedString from TCollection) 
36             returns HExtendedString from PCollection;
37                 ---Purpose: Creation and initialization with the string S from
38                 -- TCollection.
39
40         Create(C : ExtCharacter from Standard)
41             returns HExtendedString from PCollection;
42                 ---Purpose: Creation and initialisation with the character C
43
44         Create(S : HExtendedString from PCollection;
45                FromIndex, ToIndex : Integer from Standard) 
46             returns HExtendedString from PCollection
47             raises NegativeValue from Standard;
48                 ---Purpose: Creation of a sub-string of the string S
49                 -- the sub-string starts at the index Fromindex and ends
50                 -- at the index ToIndex.
51                 -- Raises an exception if ToIndex is less than FromIndex 
52
53         Create( astring : CString)
54             returns HExtendedString from PCollection;
55         ---Purpose: Creation by converting a CString to an extended string. 
56         
57         Create(S : HAsciiString from PCollection)
58             returns HExtendedString from PCollection;
59         ---Purpose: Creation by converting a normal Ascii string to an extended string. 
60         
61         Append(me : mutable; S : HExtendedString from PCollection);
62         ---Level: Public
63         ---Purpose: Pushing a string at the end of the string me.
64
65         Center(me : mutable; Width : Integer from Standard;
66                Filler : ExtCharacter from Standard) 
67         raises NegativeValue from Standard;
68         ---Level: Public
69         ---Purpose: Center.
70         -- Length becomes equal to Width and the new characters are
71         -- equal to Filler.
72         -- Raises an exception if Width is less than zero.
73         -- If Width < Length nothing happens.
74
75         ChangeAll(me : mutable; C, NewC : ExtCharacter from Standard);
76         ---Level: Public
77         ---Purpose: Substitutes all the characters equal to C by NewC in the
78         -- string <me>.
79
80         Clear(me : mutable);
81         ---Level: Public
82         ---Purpose: Removes all characters in the string <me>.
83         -- Length is equal to zero now.
84
85         Convert(me) returns ExtendedString from TCollection;
86         ---Level: Public
87         ---Purpose: Converts a persistent HExtendedString to a non
88         -- persistent ExtendedString.
89
90         FirstLocationInSet(me; Set : HExtendedString from PCollection;
91                                  FromIndex : Integer from Standard; 
92                                  ToIndex   : Integer from Standard)
93         returns Integer
94         raises OutOfRange from Standard;
95         ---Level: Public
96         ---Purpose: Returns the index of the first character of <Set> founded in <me>.
97         -- The search begins to the index FromIndex and ends to the index ToIndex.
98         -- Returns zero if failure.
99         -- Raises an exception if FromIndex or ToIndex is out of range.
100
101         FirstLocationNotInSet(me; Set : HExtendedString from PCollection;
102                               FromIndex : Integer; 
103                               ToIndex   : Integer) 
104         returns Integer
105         raises OutOfRange from Standard;
106                 ---Level: Public
107                 ---Purpose: Returns the index of the first character of <me> 
108                 -- that is not present in the set <Set>.
109                 -- The search begins to the index FromIndex and ends to the
110                 -- the index ToIndex in <me>. Returns zero if failure.
111                 -- Raises an exception if FromIndex or ToIndex is out of range.
112
113         InsertAfter(me : mutable; 
114                     Index : Integer; 
115                     S : HExtendedString from PCollection)
116         raises OutOfRange from Standard;
117                 ---Level: Public
118                 ---Purpose: Pushing a string after a specific index in the string <me>.
119                 -- Raises an exception if Index is out of bounds.
120
121         InsertBefore(me : mutable; Index : Integer; 
122                      S : HExtendedString from PCollection)
123         raises OutOfRange from Standard;
124                 ---Level: Public
125                 ---Purpose: Pushing a string before a specific index in the string <me>.
126                 -- Raises an exception if Index is out of bounds.
127
128         IsAscii(me) returns Boolean;
129         ---Level: Public
130         ---Purpose: Returns True if the string <me> is in the "Ascii range".
131      
132         IsDifferent (me ; other : HExtendedString) returns Boolean;
133         ---Level: Public
134         ---Purpose: Test if characters are different between <me> and <other>.
135    
136         IsEmpty(me) returns Boolean from Standard;
137         ---Level: Public
138         ---Purpose: Returns True if the string <me> contains zero character.
139
140         IsGreater (me ; other : HExtendedString from PCollection) 
141         returns Boolean;
142         ---Level: Public
143         ---Purpose: Returns TRUE if <me> is greater than <other>.
144
145         IsLess (me ; other : HExtendedString from PCollection) 
146         returns Boolean;
147         ---Level: Public
148         ---Purpose: Returns TRUE if <me> is less than <other>.
149
150         IsSameString(me; S : HExtendedString from PCollection)
151         returns Boolean from Standard;
152                 ---Level: Advanced
153                 ---Purpose: Returns True if two strings are equal.
154                 -- The comparison is case sensitive if the flag is set.
155   
156         LeftAdjust(me : mutable)
157         raises OutOfRange from Standard;
158         ---Level: Public
159         ---Purpose: Removes all space characters in the begining of the string.
160         -- Raises an exception if the string <me> is not in the "Ascii range".
161
162         LeftJustify(me : mutable; Width : Integer; 
163                     Filler : ExtCharacter from Standard) 
164         raises NegativeValue from Standard;
165                 ---Level: Public
166                 ---Purpose: Left justify.
167                 -- Length becomes equal to Width and the new characters are
168                 -- equal to Filler.
169                 -- If Width < Length nothing happens.
170                 -- Raises an exception if Width is less than zero.
171
172         Length(me) returns Integer;
173         ---Level: Public
174         ---Purpose: Number of characters of the String
175
176         Location(me; N : Integer; C : ExtCharacter from Standard; 
177                     FromIndex : Integer; 
178                     ToIndex   : Integer) 
179         returns Integer
180         raises OutOfRange from Standard;
181                 ---Level: Public
182                 ---Purpose: Returns the index of the nth occurence of the character C
183                 -- in the string <me> from the starting index FromIndex to the
184                 -- ending index ToIndex. Returns zero if failure.
185                 -- Raises an exception if FromIndex or ToIndex is out of range
186
187         Location(me; S : HExtendedString from PCollection;
188                     FromIndex : Integer; 
189                     ToIndex   : Integer) 
190         returns Integer
191         raises OutOfRange from Standard;
192                 ---Level: Public
193                 ---Purpose: Returns an index in the string <me> of the first occurence
194                 -- of the string S in the string <me> from the starting index.
195                 -- FromIndex to the ending index ToIndex.
196                 -- Returns zero if failure.
197                 -- Raises an exception if FromIndex or ToIndex is out of range.
198
199         Prepend(me : mutable; S : HExtendedString from PCollection);
200                 ---Level: Public
201                 ---Purpose: Pushing a string at the begining of the string <me>.
202
203         Print(me ; S : in out OStream);
204         ---Level: Public
205         ---Purpose: Prints the content of <me> on the stream S.
206
207         Remove(me : mutable; Index : Integer) 
208         ---Level: Public
209         ---Purpose: Removes the character located at the index Index in the string.
210         -- Raises an exception if Index is out of bounds.
211         raises OutOfRange from Standard;
212
213         Remove(me : mutable; FromIndex, ToIndex : Integer) 
214         ---Level: Public
215         ---Purpose: Removes all the characters from the index FromIndex to the
216         -- index ToIndex.
217         -- Raises an exception if FromIndex or ToIndex is out of bounds.
218         raises OutOfRange from Standard;
219
220         RemoveAll(me : mutable; C : ExtCharacter from Standard);
221         ---Level: Public
222         ---Purpose: Removes all the occurences of the character C in the string.
223
224         RightAdjust(me : mutable)
225         raises OutOfRange from Standard;
226         ---Level: Public
227         ---Purpose: Removes all space characters at the end of the string.
228         -- Raises an exception if the string <me> is not in the Unicod "Ascii range".
229
230         RightJustify(me : mutable; Width : Integer;
231                                          Filler : ExtCharacter from Standard) 
232                 raises NegativeValue from Standard;
233                 ---Level: Public
234                 ---Purpose: Right justify.
235                 -- Length becomes equal to Width and the new characters are
236                 -- equal to Filler.
237                 -- If Width < Length nothing happens.
238                 -- Raises an exception if Width is less than zero.
239
240         SetValue(me : mutable; Index : Integer; 
241                  C : ExtCharacter from Standard) 
242         raises OutOfRange from Standard;
243                 ---Level: Public
244                 ---Purpose: Substitutes the character located to the position Index
245                 -- by the character C.
246                 -- Raises an exception if the Index is out of bounds
247
248         SetValue(me : mutable; Index : Integer;
249                  S : HExtendedString from PCollection) 
250                 raises OutOfRange from Standard;
251                 ---Level: Public
252                 ---Purpose: Substitutes from the index Index to the end by the string S.
253                 -- Raises an exception if Index is out of bounds.
254
255         Split(me : mutable; Index  : Integer) 
256         ---Level: Public
257         ---Purpose: Splits a string of characters into two sub-strings.
258         returns HExtendedString from PCollection
259         raises OutOfRange from Standard;
260
261         SubString(me; FromIndex, ToIndex : Integer) 
262         ---Level: Public
263         ---Purpose: Creation of a sub-string of the string <me>.
264         -- The sub-string starts to the index FromIndex and ends
265         -- to the index ToIndex.
266         -- Raises an exception if ToIndex or FromIndex is out of bounds.
267         returns HExtendedString from PCollection
268         raises OutOfRange from Standard;
269
270         UsefullLength(me) returns Integer
271         raises OutOfRange from Standard;
272         ---Level: Public
273         ---Purpose: Length of the string ignoring all spaces (' ') and the 
274         -- control character at the end.
275         -- Raises an exception if the string <me> is not in the "Ascii range".
276
277         Value(me; Index : Integer) returns ExtCharacter from Standard 
278         raises OutOfRange from Standard;
279                 ---Level: Public
280                 ---Purpose: Returns the character of index Index of the string.
281                 ---Example: me = "abcd", Index = 2, Value returns 'b'
282
283         Assign(me : mutable ;TheData : VArrayOfExtCharacter) is private;
284                 ---Level: Internal
285                 ---Purpose : Assigns the field of the current structure with
286                 --  the given value.
287
288 fields
289    Data : VArrayOfExtCharacter from DBC;
290 end HExtendedString;