1 // Copyright (c) 1992-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 // This file is part of Open CASCADE Technology software library.
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
15 //Modified: C. LEYNADIER Nov,21 1997 (Token et ChangeString)
17 #include <Standard_ExtCharacter.hxx>
18 #include <Standard_ExtString.hxx>
19 #include <Standard_NegativeValue.hxx>
20 #include <Standard_NullObject.hxx>
21 #include <Standard_NumericError.hxx>
22 #include <Standard_OutOfRange.hxx>
23 #include <Standard_Type.hxx>
24 #include <TCollection_AsciiString.hxx>
25 #include <TCollection_ExtendedString.hxx>
26 #include <TCollection_HAsciiString.hxx>
27 #include <TCollection_HExtendedString.hxx>
29 IMPLEMENT_STANDARD_RTTIEXT(TCollection_HExtendedString,MMgt_TShared)
31 // ----------------------------------------------------------------------------
33 // ----------------------------------------------------------------------------
34 TCollection_HExtendedString::TCollection_HExtendedString(){}
37 // ----------------------------------------------------------------------------
39 // ----------------------------------------------------------------------------
40 TCollection_HExtendedString::TCollection_HExtendedString
41 (const Standard_CString message):myString(message)
44 // ----------------------------------------------------------------------------
46 // ----------------------------------------------------------------------------
47 TCollection_HExtendedString::TCollection_HExtendedString
48 (const Standard_ExtString message):myString(message)
51 // ----------------------------------------------------------------------------
53 // ----------------------------------------------------------------------------
54 TCollection_HExtendedString::TCollection_HExtendedString
55 (const Standard_ExtCharacter aChar):myString(aChar)
58 // ----------------------------------------------------------------------------
60 // ----------------------------------------------------------------------------
61 TCollection_HExtendedString::TCollection_HExtendedString
62 (const Standard_Integer length,const Standard_ExtCharacter filler )
63 :myString(length,filler)
66 // ----------------------------------------------------------------------------
68 // ----------------------------------------------------------------------------
69 TCollection_HExtendedString::TCollection_HExtendedString
70 (const TCollection_ExtendedString& astring):myString(astring)
73 // ----------------------------------------------------------------------------
75 // ----------------------------------------------------------------------------
76 TCollection_HExtendedString::TCollection_HExtendedString
77 (const Handle(TCollection_HAsciiString)& astring)
78 :myString(astring->String())
82 // ----------------------------------------------------------------------------
84 // ----------------------------------------------------------------------------
85 TCollection_HExtendedString::TCollection_HExtendedString
86 (const Handle(TCollection_HExtendedString)& astring)
87 :myString(astring->ChangeString())
91 // ---------------------------------------------------------------------------
93 // ----------------------------------------------------------------------------
94 void TCollection_HExtendedString::AssignCat
95 (const Handle(TCollection_HExtendedString)& other)
97 myString.AssignCat(other->ChangeString());
100 // ---------------------------------------------------------------------------
102 // ----------------------------------------------------------------------------
103 Handle(TCollection_HExtendedString) TCollection_HExtendedString::Cat
104 (const Handle(TCollection_HExtendedString)& other) const
106 return new TCollection_HExtendedString(myString.Cat(other->ChangeString() ) );
109 // ----------------------------------------------------------------------------
111 // ----------------------------------------------------------------------------
112 void TCollection_HExtendedString::ChangeAll
113 (const Standard_ExtCharacter aChar,
114 const Standard_ExtCharacter NewChar)
116 myString.ChangeAll(aChar,NewChar);
119 // ----------------------------------------------------------------------------
121 // ----------------------------------------------------------------------------
122 Standard_Boolean TCollection_HExtendedString::IsEmpty() const
124 return (myString.Length() == 0);
127 // ----------------------------------------------------------------------------
129 // ----------------------------------------------------------------------------
130 void TCollection_HExtendedString::Clear()
135 // ----------------------------------------------------------------------------
136 // Insert a Standard_ExtCharacter before 'where'th Standard_ExtCharacter
137 // ----------------------------------------------------------------------------
138 void TCollection_HExtendedString::Insert(const Standard_Integer where,
139 const Standard_ExtCharacter what)
141 myString.Insert(where,what);
144 // ----------------------------------------------------------------------------
146 // ----------------------------------------------------------------------------
147 void TCollection_HExtendedString::Insert(const Standard_Integer where,
148 const Handle(TCollection_HExtendedString)& what)
150 myString.Insert(where,what->ChangeString());
153 // ----------------------------------------------------------------------------
155 // ----------------------------------------------------------------------------
156 Standard_Boolean TCollection_HExtendedString::IsLess(
157 const Handle(TCollection_HExtendedString)& other) const
159 return myString.IsLess(other->ChangeString());
162 // ----------------------------------------------------------------------------
164 // ----------------------------------------------------------------------------
165 Standard_Boolean TCollection_HExtendedString::IsGreater
166 (const Handle(TCollection_HExtendedString)& other) const
168 return myString.IsGreater(other->ChangeString());
171 // ----------------------------------------------------------------------------
173 // ----------------------------------------------------------------------------
174 Standard_Boolean TCollection_HExtendedString::IsAscii() const
176 return myString.IsAscii();
179 // ----------------------------------------------------------------------------
181 // ----------------------------------------------------------------------------
182 Standard_Integer TCollection_HExtendedString::Length() const
184 return myString.Length();
187 // ----------------------------------------------------------------------------
189 // ----------------------------------------------------------------------------
190 void TCollection_HExtendedString::Remove (const Standard_Integer where,
191 const Standard_Integer ahowmany)
193 myString.Remove(where,ahowmany);
196 // ----------------------------------------------------------------------------
198 // ----------------------------------------------------------------------------
199 void TCollection_HExtendedString::RemoveAll(const Standard_ExtCharacter what)
201 myString.RemoveAll(what);
204 // ----------------------------------------------------------------------------
206 // ----------------------------------------------------------------------------
207 void TCollection_HExtendedString::SetValue(
208 const Standard_Integer where,const Standard_ExtCharacter what)
210 myString.SetValue(where,what);
213 // ----------------------------------------------------------------------------
215 // ---------------------------------------------------------------------------
216 void TCollection_HExtendedString::SetValue(const Standard_Integer where,
217 const Handle(TCollection_HExtendedString)& what)
219 myString.SetValue(where, what->ChangeString());
222 // ----------------------------------------------------------------------------
224 // ----------------------------------------------------------------------------
225 Handle(TCollection_HExtendedString) TCollection_HExtendedString::Split
226 (const Standard_Integer where)
228 return new TCollection_HExtendedString(myString.Split(where));
231 // ----------------------------------------------------------------------------
233 // ----------------------------------------------------------------------------
234 Standard_Integer TCollection_HExtendedString::Search
235 (const Handle(TCollection_HExtendedString)& what) const
237 return myString.Search(what->ChangeString());
240 // ----------------------------------------------------------------------------
242 // ----------------------------------------------------------------------------
243 Standard_Integer TCollection_HExtendedString::SearchFromEnd
244 (const Handle(TCollection_HExtendedString)& what) const
246 return myString.SearchFromEnd(what->ChangeString());
249 // ----------------------------------------------------------------------------
251 // ----------------------------------------------------------------------------
252 Handle(TCollection_HExtendedString) TCollection_HExtendedString::Token
253 (const Standard_ExtString separators,const Standard_Integer whichone) const
255 return new TCollection_HExtendedString(myString.Token(separators,whichone));
258 // ----------------------------------------------------------------------------
260 // ----------------------------------------------------------------------------
261 void TCollection_HExtendedString::Trunc(const Standard_Integer ahowmany)
263 myString.Trunc(ahowmany);
266 // ----------------------------------------------------------------------------
268 // ----------------------------------------------------------------------------
269 Standard_ExtCharacter TCollection_HExtendedString::Value
270 (const Standard_Integer where) const
272 return myString.Value(where);
275 // ----------------------------------------------------------------------------
277 // ----------------------------------------------------------------------------
278 const TCollection_ExtendedString& TCollection_HExtendedString::String() const
284 //---------------------------------------------------------------------
286 //---------------------------------------------------------------------
287 void TCollection_HExtendedString::Print(Standard_OStream& S) const
289 S << "begin class HExtendedString "<<endl;
293 // ----------------------------------------------------------------------------
295 // ----------------------------------------------------------------------------
296 Standard_Boolean TCollection_HExtendedString::IsSameState
297 (const Handle(TCollection_HExtendedString)& other) const
299 return myString == other->String();
303 TCollection_ExtendedString& TCollection_HExtendedString::ChangeString() const
305 return (TCollection_ExtendedString&)myString;