Open CASCADE Technology  7.0.0
Public Member Functions | Static Public Member Functions | Friends

TCollection_ExtendedString Class Reference

A variable-length sequence of "extended" (UNICODE) characters (16-bit character type). It provides editing operations with built-in memory management to make ExtendedString objects easier to use than ordinary extended character arrays. ExtendedString objects follow "value semantics", that is, they are the actual strings, not handles to strings, and are copied through assignment. You may use HExtendedString objects to get handles to strings. More...

#include <TCollection_ExtendedString.hxx>

Public Member Functions

 TCollection_ExtendedString ()
 Initializes a ExtendedString to an empty ExtendedString. More...
 
 TCollection_ExtendedString (const Standard_CString astring, const Standard_Boolean isMultiByte=Standard_False)
 Creation by converting a CString to an extended string. If <isMultiByte> is true then the string is treated as having UTF-8 coding. If it is not a UTF-8 then <isMultiByte> is ignored and each character is copied to ExtCharacter. More...
 
 TCollection_ExtendedString (const Standard_ExtString astring)
 Creation by converting an ExtString to an extended string. More...
 
 TCollection_ExtendedString (const Standard_Character aChar)
 Initializes a AsciiString with a single character. More...
 
 TCollection_ExtendedString (const Standard_ExtCharacter aChar)
 Initializes a ExtendedString with a single character. More...
 
 TCollection_ExtendedString (const Standard_Integer length, const Standard_ExtCharacter filler)
 Initializes a ExtendedString with <length> space allocated. and filled with <filler>.This is useful for buffers. More...
 
 TCollection_ExtendedString (const Standard_Integer value)
 Initializes an ExtendedString with an integer value. More...
 
 TCollection_ExtendedString (const Standard_Real value)
 Initializes an ExtendedString with a real value. More...
 
 TCollection_ExtendedString (const TCollection_ExtendedString &astring)
 Initializes a ExtendedString with another ExtendedString. More...
 
 TCollection_ExtendedString (const TCollection_AsciiString &astring)
 Creation by converting an Ascii string to an extended string. The string is treated as having UTF-8 coding. If it is not a UTF-8 then each character is copied to ExtCharacter. More...
 
void AssignCat (const TCollection_ExtendedString &other)
 Appends the other extended string to this extended string. Note that this method is an alias of operator +=. Example: aString += anotherString. More...
 
void operator+= (const TCollection_ExtendedString &other)
 
TCollection_ExtendedString Cat (const TCollection_ExtendedString &other) const
 Appends <other> to me. More...
 
TCollection_ExtendedString operator+ (const TCollection_ExtendedString &other) const
 
void ChangeAll (const Standard_ExtCharacter aChar, const Standard_ExtCharacter NewChar)
 Substitutes all the characters equal to aChar by NewChar in the ExtendedString <me>. The substitution can be case sensitive. If you don't use default case sensitive, no matter wether aChar is uppercase or not. More...
 
void Clear ()
 Removes all characters contained in <me>. This produces an empty ExtendedString. More...
 
void Copy (const TCollection_ExtendedString &fromwhere)
 Copy <fromwhere> to <me>. Used as operator =. More...
 
void operator= (const TCollection_ExtendedString &fromwhere)
 
void Destroy ()
 Frees memory allocated by ExtendedString. More...
 
 ~TCollection_ExtendedString ()
 
void Insert (const Standard_Integer where, const Standard_ExtCharacter what)
 Insert a Character at position <where>. More...
 
void Insert (const Standard_Integer where, const TCollection_ExtendedString &what)
 Insert a ExtendedString at position <where>. More...
 
Standard_Boolean IsEmpty () const
 Returns True if this string contains no characters. More...
 
Standard_Boolean IsEqual (const Standard_ExtString other) const
 Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==. More...
 
Standard_Boolean operator== (const Standard_ExtString other) const
 
Standard_Boolean IsEqual (const TCollection_ExtendedString &other) const
 Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==. More...
 
Standard_Boolean operator== (const TCollection_ExtendedString &other) const
 
Standard_Boolean IsDifferent (const Standard_ExtString other) const
 Returns true if there are differences between the characters in this extended string and the other extended string. Note that this method is an alias of operator !=. More...
 
Standard_Boolean operator!= (const Standard_ExtString other) const
 
Standard_Boolean IsDifferent (const TCollection_ExtendedString &other) const
 Returns true if there are differences between the characters in this extended string and the other extended string. Note that this method is an alias of operator !=. More...
 
Standard_Boolean operator!= (const TCollection_ExtendedString &other) const
 
Standard_Boolean IsLess (const Standard_ExtString other) const
 Returns TRUE if <me> is less than <other>. More...
 
Standard_Boolean operator< (const Standard_ExtString other) const
 
Standard_Boolean IsLess (const TCollection_ExtendedString &other) const
 Returns TRUE if <me> is less than <other>. More...
 
Standard_Boolean operator< (const TCollection_ExtendedString &other) const
 
Standard_Boolean IsGreater (const Standard_ExtString other) const
 Returns TRUE if <me> is greater than <other>. More...
 
Standard_Boolean operator> (const Standard_ExtString other) const
 
Standard_Boolean IsGreater (const TCollection_ExtendedString &other) const
 Returns TRUE if <me> is greater than <other>. More...
 
Standard_Boolean operator> (const TCollection_ExtendedString &other) const
 
Standard_Boolean IsAscii () const
 Returns True if the ExtendedString contains only "Ascii Range" characters . More...
 
Standard_Integer Length () const
 Returns number of characters in <me>. This is the same functionality as 'strlen' in C. More...
 
void Print (Standard_OStream &astream) const
 Displays <me> . More...
 
void RemoveAll (const Standard_ExtCharacter what)
 Removes every <what> characters from <me>. More...
 
void Remove (const Standard_Integer where, const Standard_Integer ahowmany=1)
 Erases <ahowmany> characters from position <where>,<where> included. More...
 
Standard_Integer Search (const TCollection_ExtendedString &what) const
 Searches a ExtendedString in <me> from the beginning and returns position of first item <what> matching. it returns -1 if not found. More...
 
Standard_Integer SearchFromEnd (const TCollection_ExtendedString &what) const
 Searches a ExtendedString in another ExtendedString from the end and returns position of first item <what> matching. it returns -1 if not found. More...
 
void SetValue (const Standard_Integer where, const Standard_ExtCharacter what)
 Replaces one character in the ExtendedString at position <where>. If <where> is less than zero or greater than the length of <me> an exception is raised. More...
 
void SetValue (const Standard_Integer where, const TCollection_ExtendedString &what)
 Replaces a part of <me> by another ExtendedString see above. More...
 
TCollection_ExtendedString Split (const Standard_Integer where)
 Splits this extended string into two sub-strings at position where. More...
 
TCollection_ExtendedString Token (const Standard_ExtString separators, const Standard_Integer whichone=1) const
 Extracts <whichone> token from <me>. By default, the <separators> is set to space and tabulation. By default, the token extracted is the first one (whichone = 1). <separators> contains all separators you need. If no token indexed by <whichone> is found, it returns an empty AsciiString. Example: aString contains "This is a message" aString.Token() returns "This" aString.Token(" ",4) returns "message" aString.Token(" ",2) returns "is" aString.Token(" ",9) returns "" Other separators than space character and tabulation are allowed : aString contains "1234; test:message , value" aString.Token("; :,",4) returns "value" aString.Token("; :,",2) returns "test". More...
 
Standard_ExtString ToExtString () const
 Returns pointer to ExtString. More...
 
void Trunc (const Standard_Integer ahowmany)
 Truncates <me> to <ahowmany> characters. Example: me = "Hello Dolly" -> Trunc(3) -> me = "Hel" Exceptions Standard_OutOfRange if ahowmany is greater than the length of this string. More...
 
Standard_ExtCharacter Value (const Standard_Integer where) const
 Returns character at position <where> in <me>. If <where> is less than zero or greater than the lenght of <me>, an exception is raised. Example: aString contains "Hello" aString.Value(2) returns 'e' Exceptions Standard_OutOfRange if where lies outside the bounds of this extended string. More...
 
Standard_Integer ToUTF8CString (Standard_PCharacter &theCString) const
 Converts the internal <mystring> to UTF8 coding and returns length of the out CString. A memory for the <theCString> should be allocated before call! More...
 
Standard_Integer LengthOfCString () const
 Returns expected CString length in UTF8 coding. It can be used for memory calculation before converting to CString containing symbols in UTF8 coding. More...
 

Static Public Member Functions

static Standard_Integer HashCode (const TCollection_ExtendedString &astring, const Standard_Integer Upper)
 Returns a hashed value for the extended string astring within the range 1..Upper. Note: if astring is ASCII, the computed value is the same as the value computed with the HashCode function on a TCollection_AsciiString string composed with equivalent ASCII characters. More...
 
static Standard_Boolean IsEqual (const TCollection_ExtendedString &string1, const TCollection_ExtendedString &string2)
 Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==. More...
 

Friends

Standard_OStreamoperator<< (Standard_OStream &astream, const TCollection_ExtendedString &astring)
 

Detailed Description

A variable-length sequence of "extended" (UNICODE) characters (16-bit character type). It provides editing operations with built-in memory management to make ExtendedString objects easier to use than ordinary extended character arrays. ExtendedString objects follow "value semantics", that is, they are the actual strings, not handles to strings, and are copied through assignment. You may use HExtendedString objects to get handles to strings.

Constructor & Destructor Documentation

TCollection_ExtendedString::TCollection_ExtendedString ( )

Initializes a ExtendedString to an empty ExtendedString.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_CString  astring,
const Standard_Boolean  isMultiByte = Standard_False 
)

Creation by converting a CString to an extended string. If <isMultiByte> is true then the string is treated as having UTF-8 coding. If it is not a UTF-8 then <isMultiByte> is ignored and each character is copied to ExtCharacter.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_ExtString  astring)

Creation by converting an ExtString to an extended string.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_Character  aChar)

Initializes a AsciiString with a single character.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_ExtCharacter  aChar)

Initializes a ExtendedString with a single character.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_Integer  length,
const Standard_ExtCharacter  filler 
)

Initializes a ExtendedString with <length> space allocated. and filled with <filler>.This is useful for buffers.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_Integer  value)

Initializes an ExtendedString with an integer value.

TCollection_ExtendedString::TCollection_ExtendedString ( const Standard_Real  value)

Initializes an ExtendedString with a real value.

TCollection_ExtendedString::TCollection_ExtendedString ( const TCollection_ExtendedString astring)

Initializes a ExtendedString with another ExtendedString.

TCollection_ExtendedString::TCollection_ExtendedString ( const TCollection_AsciiString astring)

Creation by converting an Ascii string to an extended string. The string is treated as having UTF-8 coding. If it is not a UTF-8 then each character is copied to ExtCharacter.

TCollection_ExtendedString::~TCollection_ExtendedString ( )
inline

Member Function Documentation

void TCollection_ExtendedString::AssignCat ( const TCollection_ExtendedString other)

Appends the other extended string to this extended string. Note that this method is an alias of operator +=. Example: aString += anotherString.

TCollection_ExtendedString TCollection_ExtendedString::Cat ( const TCollection_ExtendedString other) const

Appends <other> to me.

void TCollection_ExtendedString::ChangeAll ( const Standard_ExtCharacter  aChar,
const Standard_ExtCharacter  NewChar 
)

Substitutes all the characters equal to aChar by NewChar in the ExtendedString <me>. The substitution can be case sensitive. If you don't use default case sensitive, no matter wether aChar is uppercase or not.

void TCollection_ExtendedString::Clear ( )

Removes all characters contained in <me>. This produces an empty ExtendedString.

void TCollection_ExtendedString::Copy ( const TCollection_ExtendedString fromwhere)

Copy <fromwhere> to <me>. Used as operator =.

void TCollection_ExtendedString::Destroy ( )

Frees memory allocated by ExtendedString.

static Standard_Integer TCollection_ExtendedString::HashCode ( const TCollection_ExtendedString astring,
const Standard_Integer  Upper 
)
static

Returns a hashed value for the extended string astring within the range 1..Upper. Note: if astring is ASCII, the computed value is the same as the value computed with the HashCode function on a TCollection_AsciiString string composed with equivalent ASCII characters.

void TCollection_ExtendedString::Insert ( const Standard_Integer  where,
const Standard_ExtCharacter  what 
)

Insert a Character at position <where>.

void TCollection_ExtendedString::Insert ( const Standard_Integer  where,
const TCollection_ExtendedString what 
)

Insert a ExtendedString at position <where>.

Standard_Boolean TCollection_ExtendedString::IsAscii ( ) const

Returns True if the ExtendedString contains only "Ascii Range" characters .

Standard_Boolean TCollection_ExtendedString::IsDifferent ( const Standard_ExtString  other) const

Returns true if there are differences between the characters in this extended string and the other extended string. Note that this method is an alias of operator !=.

Standard_Boolean TCollection_ExtendedString::IsDifferent ( const TCollection_ExtendedString other) const

Returns true if there are differences between the characters in this extended string and the other extended string. Note that this method is an alias of operator !=.

Standard_Boolean TCollection_ExtendedString::IsEmpty ( ) const

Returns True if this string contains no characters.

Standard_Boolean TCollection_ExtendedString::IsEqual ( const Standard_ExtString  other) const

Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==.

Standard_Boolean TCollection_ExtendedString::IsEqual ( const TCollection_ExtendedString other) const

Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==.

static Standard_Boolean TCollection_ExtendedString::IsEqual ( const TCollection_ExtendedString string1,
const TCollection_ExtendedString string2 
)
static

Returns true if the characters in this extended string are identical to the characters in the other extended string. Note that this method is an alias of operator ==.

Standard_Boolean TCollection_ExtendedString::IsGreater ( const Standard_ExtString  other) const

Returns TRUE if <me> is greater than <other>.

Standard_Boolean TCollection_ExtendedString::IsGreater ( const TCollection_ExtendedString other) const

Returns TRUE if <me> is greater than <other>.

Standard_Boolean TCollection_ExtendedString::IsLess ( const Standard_ExtString  other) const

Returns TRUE if <me> is less than <other>.

Standard_Boolean TCollection_ExtendedString::IsLess ( const TCollection_ExtendedString other) const

Returns TRUE if <me> is less than <other>.

Standard_Integer TCollection_ExtendedString::Length ( ) const

Returns number of characters in <me>. This is the same functionality as 'strlen' in C.

Standard_Integer TCollection_ExtendedString::LengthOfCString ( ) const

Returns expected CString length in UTF8 coding. It can be used for memory calculation before converting to CString containing symbols in UTF8 coding.

Standard_Boolean TCollection_ExtendedString::operator!= ( const Standard_ExtString  other) const
inline
Standard_Boolean TCollection_ExtendedString::operator!= ( const TCollection_ExtendedString other) const
inline
TCollection_ExtendedString TCollection_ExtendedString::operator+ ( const TCollection_ExtendedString other) const
inline
void TCollection_ExtendedString::operator+= ( const TCollection_ExtendedString other)
inline
Standard_Boolean TCollection_ExtendedString::operator< ( const Standard_ExtString  other) const
inline
Standard_Boolean TCollection_ExtendedString::operator< ( const TCollection_ExtendedString other) const
inline
void TCollection_ExtendedString::operator= ( const TCollection_ExtendedString fromwhere)
inline
Standard_Boolean TCollection_ExtendedString::operator== ( const Standard_ExtString  other) const
inline
Standard_Boolean TCollection_ExtendedString::operator== ( const TCollection_ExtendedString other) const
inline
Standard_Boolean TCollection_ExtendedString::operator> ( const Standard_ExtString  other) const
inline
Standard_Boolean TCollection_ExtendedString::operator> ( const TCollection_ExtendedString other) const
inline
void TCollection_ExtendedString::Print ( Standard_OStream astream) const

Displays <me> .

void TCollection_ExtendedString::Remove ( const Standard_Integer  where,
const Standard_Integer  ahowmany = 1 
)

Erases <ahowmany> characters from position <where>,<where> included.

void TCollection_ExtendedString::RemoveAll ( const Standard_ExtCharacter  what)

Removes every <what> characters from <me>.

Standard_Integer TCollection_ExtendedString::Search ( const TCollection_ExtendedString what) const

Searches a ExtendedString in <me> from the beginning and returns position of first item <what> matching. it returns -1 if not found.

Standard_Integer TCollection_ExtendedString::SearchFromEnd ( const TCollection_ExtendedString what) const

Searches a ExtendedString in another ExtendedString from the end and returns position of first item <what> matching. it returns -1 if not found.

void TCollection_ExtendedString::SetValue ( const Standard_Integer  where,
const Standard_ExtCharacter  what 
)

Replaces one character in the ExtendedString at position <where>. If <where> is less than zero or greater than the length of <me> an exception is raised.

void TCollection_ExtendedString::SetValue ( const Standard_Integer  where,
const TCollection_ExtendedString what 
)

Replaces a part of <me> by another ExtendedString see above.

TCollection_ExtendedString TCollection_ExtendedString::Split ( const Standard_Integer  where)

Splits this extended string into two sub-strings at position where.

  • The second sub-string (from position where + 1 of this string to the end) is returned in a new extended string.
  • this extended string is modified: its last characters are removed, it becomes equal to the first sub-string (from the first character to position where). Example: aString contains "abcdefg" aString.Split(3) gives <me> = "abc" and returns "defg"
Standard_ExtString TCollection_ExtendedString::ToExtString ( ) const

Returns pointer to ExtString.

TCollection_ExtendedString TCollection_ExtendedString::Token ( const Standard_ExtString  separators,
const Standard_Integer  whichone = 1 
) const

Extracts <whichone> token from <me>. By default, the <separators> is set to space and tabulation. By default, the token extracted is the first one (whichone = 1). <separators> contains all separators you need. If no token indexed by <whichone> is found, it returns an empty AsciiString. Example: aString contains "This is a message" aString.Token() returns "This" aString.Token(" ",4) returns "message" aString.Token(" ",2) returns "is" aString.Token(" ",9) returns "" Other separators than space character and tabulation are allowed : aString contains "1234; test:message , value" aString.Token("; :,",4) returns "value" aString.Token("; :,",2) returns "test".

Standard_Integer TCollection_ExtendedString::ToUTF8CString ( Standard_PCharacter theCString) const

Converts the internal <mystring> to UTF8 coding and returns length of the out CString. A memory for the <theCString> should be allocated before call!

void TCollection_ExtendedString::Trunc ( const Standard_Integer  ahowmany)

Truncates <me> to <ahowmany> characters. Example: me = "Hello Dolly" -> Trunc(3) -> me = "Hel" Exceptions Standard_OutOfRange if ahowmany is greater than the length of this string.

Standard_ExtCharacter TCollection_ExtendedString::Value ( const Standard_Integer  where) const

Returns character at position <where> in <me>. If <where> is less than zero or greater than the lenght of <me>, an exception is raised. Example: aString contains "Hello" aString.Value(2) returns 'e' Exceptions Standard_OutOfRange if where lies outside the bounds of this extended string.

Friends And Related Function Documentation

Standard_OStream& operator<< ( Standard_OStream astream,
const TCollection_ExtendedString astring 
)
friend

The documentation for this class was generated from the following file: