1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381
|
// File generated by CPPExt (Value)
//
// Copyright (C) 1991 - 2000 by
// Matra Datavision SA. All rights reserved.
//
// Copyright (C) 2001 - 2004 by
// Open CASCADE SA. All rights reserved.
//
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.
#ifndef _TCollection_ExtendedString_HeaderFile
#define _TCollection_ExtendedString_HeaderFile
#ifndef _Standard_ExtString_HeaderFile
#include <Standard_ExtString.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Standard_Character_HeaderFile
#include <Standard_Character.hxx>
#endif
#ifndef _Standard_ExtCharacter_HeaderFile
#include <Standard_ExtCharacter.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class Standard_NullObject;
class Standard_OutOfRange;
class Standard_NumericError;
class Standard_NegativeValue;
class TCollection_AsciiString;
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
//! A variable-length sequence of "extended" <br>
//! (UNICODE) characters (16-bit character type). It <br>
//! provides editing operations with built-in memory <br>
//! management to make ExtendedString objects <br>
//! easier to use than ordinary extended character arrays. <br>
//! ExtendedString objects follow "value <br>
//! semantics", that is, they are the actual strings, <br>
//! not handles to strings, and are copied through <br>
//! assignment. You may use HExtendedString <br>
//! objects to get handles to strings. <br>
class TCollection_ExtendedString {
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
// Methods PUBLIC
//
//! Initializes a ExtendedString to an empty ExtendedString. <br>
Standard_EXPORT TCollection_ExtendedString();
//! Creation by converting a CString to an extended string. <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_CString astring);
//! Creation by converting an ExtString to an extended string. <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_ExtString astring);
//! Initializes a AsciiString with a single character. <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_Character aChar);
//! Initializes a ExtendedString with a single character. <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_ExtCharacter aChar);
//! Initializes a ExtendedString with <length> space allocated. <br>
//! and filled with <filler>.This is useful for buffers. <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_Integer length,const Standard_ExtCharacter filler);
//! Initializes an ExtendedString with an integer value <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_Integer value);
//! Initializes an ExtendedString with a real value <br>
Standard_EXPORT TCollection_ExtendedString(const Standard_Real value);
//! Initializes a ExtendedString with another ExtendedString. <br>
Standard_EXPORT TCollection_ExtendedString(const TCollection_ExtendedString& astring);
//! Creation by converting a normal Ascii string to an extended string. <br>
Standard_EXPORT TCollection_ExtendedString(const TCollection_AsciiString& astring);
//! Appends the other extended string to this extended string. <br>
//! Note that this method is an alias of operator +=. <br>
//! Example: aString += anotherString <br>
Standard_EXPORT void AssignCat(const TCollection_ExtendedString& other) ;
void operator +=(const TCollection_ExtendedString& other)
{
AssignCat(other);
}
//! Appends <other> to me. <br>
Standard_EXPORT TCollection_ExtendedString Cat(const TCollection_ExtendedString& other) const;
TCollection_ExtendedString operator +(const TCollection_ExtendedString& other) const
{
return Cat(other);
}
//! Substitutes all the characters equal to aChar by NewChar <br>
//! in the ExtendedString <me>. <br>
//! The substitution can be case sensitive. <br>
//! If you don't use default case sensitive, no matter wether aChar <br>
//! is uppercase or not. <br>
Standard_EXPORT void ChangeAll(const Standard_ExtCharacter aChar,const Standard_ExtCharacter NewChar) ;
//! Removes all characters contained in <me>. <br>
//! This produces an empty ExtendedString. <br>
Standard_EXPORT void Clear() ;
//! Copy <fromwhere> to <me>. <br>
//! Used as operator = <br>
Standard_EXPORT void Copy(const TCollection_ExtendedString& fromwhere) ;
void operator =(const TCollection_ExtendedString& fromwhere)
{
Copy(fromwhere);
}
//! Frees memory allocated by ExtendedString. <br>
Standard_EXPORT void Destroy() ;
~TCollection_ExtendedString()
{
Destroy();
}
//! Insert a Character at position <where>. <br>
Standard_EXPORT void Insert(const Standard_Integer where,const Standard_ExtCharacter what) ;
//! Insert a ExtendedString at position <where>. <br>
Standard_EXPORT void Insert(const Standard_Integer where,const TCollection_ExtendedString& what) ;
//! Returns true if the characters in this extended <br>
//! string are identical to the characters in the other extended string. <br>
//! Note that this method is an alias of operator == <br>
Standard_EXPORT Standard_Boolean IsEqual(const Standard_ExtString other) const;
Standard_Boolean operator ==(const Standard_ExtString other) const
{
return IsEqual(other);
}
//! Returns true if the characters in this extended <br>
//! string are identical to the characters in the other extended string. <br>
//! Note that this method is an alias of operator == <br>
Standard_EXPORT Standard_Boolean IsEqual(const TCollection_ExtendedString& other) const;
Standard_Boolean operator ==(const TCollection_ExtendedString& other) const
{
return IsEqual(other);
}
//! Returns true if there are differences between the <br>
//! characters in this extended string and the other extended string. <br>
//! Note that this method is an alias of operator !=. <br>
Standard_EXPORT Standard_Boolean IsDifferent(const Standard_ExtString other) const;
Standard_Boolean operator !=(const Standard_ExtString other) const
{
return IsDifferent(other);
}
//! Returns true if there are differences between the <br>
//! characters in this extended string and the other extended string. <br>
//! Note that this method is an alias of operator !=. <br>
Standard_EXPORT Standard_Boolean IsDifferent(const TCollection_ExtendedString& other) const;
Standard_Boolean operator !=(const TCollection_ExtendedString& other) const
{
return IsDifferent(other);
}
//! Returns TRUE if <me> is less than <other>. <br>
Standard_EXPORT Standard_Boolean IsLess(const Standard_ExtString other) const;
Standard_Boolean operator <(const Standard_ExtString other) const
{
return IsLess(other);
}
//! Returns TRUE if <me> is less than <other>. <br>
Standard_EXPORT Standard_Boolean IsLess(const TCollection_ExtendedString& other) const;
Standard_Boolean operator <(const TCollection_ExtendedString& other) const
{
return IsLess(other);
}
//! Returns TRUE if <me> is greater than <other>. <br>
Standard_EXPORT Standard_Boolean IsGreater(const Standard_ExtString other) const;
Standard_Boolean operator >(const Standard_ExtString other) const
{
return IsGreater(other);
}
//! Returns TRUE if <me> is greater than <other>. <br>
Standard_EXPORT Standard_Boolean IsGreater(const TCollection_ExtendedString& other) const;
Standard_Boolean operator >(const TCollection_ExtendedString& other) const
{
return IsGreater(other);
}
//! Returns True if the ExtendedString contains only <br>
//! "Ascii Range" characters . <br>
Standard_EXPORT Standard_Boolean IsAscii() const;
//! Returns number of characters in <me>. <br>
//! This is the same functionality as 'strlen' in C. <br>
Standard_EXPORT Standard_Integer Length() const;
//! Displays <me> . <br>
Standard_EXPORT void Print(Standard_OStream& astream) const;
friend Standard_EXPORT Standard_OStream& operator << (Standard_OStream& astream,const TCollection_ExtendedString& astring);
//! Removes every <what> characters from <me>. <br>
Standard_EXPORT void RemoveAll(const Standard_ExtCharacter what) ;
//! Erases <ahowmany> characters from position <where>,<where> included. <br>
Standard_EXPORT void Remove(const Standard_Integer where,const Standard_Integer ahowmany = 1) ;
//! Searches a ExtendedString in <me> from the beginning <br>
//! and returns position of first item <what> matching. <br>
//! it returns -1 if not found. <br>
Standard_EXPORT Standard_Integer Search(const TCollection_ExtendedString& what) const;
//! Searches a ExtendedString in another ExtendedString from the <br>
//! end and returns position of first item <what> matching. <br>
//! it returns -1 if not found. <br>
Standard_EXPORT Standard_Integer SearchFromEnd(const TCollection_ExtendedString& what) const;
//! Replaces one character in the ExtendedString at position <where>. <br>
//! If <where> is less than zero or greater than the length of <me> <br>
//! an exception is raised. <br>
Standard_EXPORT void SetValue(const Standard_Integer where,const Standard_ExtCharacter what) ;
//! Replaces a part of <me> by another ExtendedString see above. <br>
Standard_EXPORT void SetValue(const Standard_Integer where,const TCollection_ExtendedString& what) ;
//! Splits this extended string into two sub-strings at position where. <br>
//! - The second sub-string (from position <br>
//! where + 1 of this string to the end) is <br>
//! returned in a new extended string. <br>
//! - this extended string is modified: its last <br>
//! characters are removed, it becomes equal to <br>
//! the first sub-string (from the first character to position where). <br>
//! Example: <br>
//! aString contains "abcdefg" <br>
//! aString.Split(3) gives <me> = "abc" and returns "defg" <br>
Standard_EXPORT TCollection_ExtendedString Split(const Standard_Integer where) ;
//! Extracts <whichone> token from <me>. <br>
//! By default, the <separators> is set to space and tabulation. <br>
//! By default, the token extracted is the first one (whichone = 1). <br>
//! <separators> contains all separators you need. <br>
//! If no token indexed by <whichone> is found, it returns an empty AsciiString. <br>
//! Example: <br>
//! aString contains "This is a message" <br>
//! aString.Token() returns "This" <br>
//! aString.Token(" ",4) returns "message" <br>
//! aString.Token(" ",2) returns "is" <br>
//! aString.Token(" ",9) returns "" <br>
//! Other separators than space character and tabulation are allowed : <br>
//! aString contains "1234; test:message , value" <br>
//! aString.Token("; :,",4) returns "value" <br>
//! aString.Token("; :,",2) returns "test" <br>
Standard_EXPORT TCollection_ExtendedString Token(const Standard_ExtString separators,const Standard_Integer whichone = 1) const;
//! Returns pointer to ExtString <br>
Standard_EXPORT const Standard_ExtString ToExtString() const;
//! Truncates <me> to <ahowmany> characters. <br>
//! Example: me = "Hello Dolly" -> Trunc(3) -> me = "Hel" <br>
//! Exceptions <br>
//! Standard_OutOfRange if ahowmany is greater <br>
//! than the length of this string. <br>
Standard_EXPORT void Trunc(const Standard_Integer ahowmany) ;
//! Returns character at position <where> in <me>. <br>
//! If <where> is less than zero or greater than the lenght of <br>
//! <me>, an exception is raised. <br>
//! Example: <br>
//! aString contains "Hello" <br>
//! aString.Value(2) returns 'e' <br>
//! Exceptions <br>
//! Standard_OutOfRange if where lies outside <br>
//! the bounds of this extended string. <br>
Standard_EXPORT Standard_ExtCharacter Value(const Standard_Integer where) const;
//! Returns a hashed value for the extended string <br>
//! astring within the range 1..Upper. <br>
//! Note: if astring is ASCII, the computed value is <br>
//! the same as the value computed with the HashCode function on a <br>
//! TCollection_AsciiString string composed with equivalent ASCII characters <br>
Standard_EXPORT static Standard_Integer HashCode(const TCollection_ExtendedString& astring,const Standard_Integer Upper) ;
//! Returns true if the characters in this extended <br>
//! string are identical to the characters in the other extended string. <br>
//! Note that this method is an alias of operator ==. <br>
Standard_EXPORT static Standard_Boolean IsEqual(const TCollection_ExtendedString& string1,const TCollection_ExtendedString& string2) ;
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private:
// Methods PRIVATE
//
// Fields PRIVATE
//
Standard_ExtString mystring;
Standard_Integer mylength;
};
// other Inline functions and methods (like "C++: function call" methods)
//
#endif
|