// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _TCollection_ExtendedString_HeaderFile #define _TCollection_ExtendedString_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_PExtCharacter_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_ExtString_HeaderFile #include #endif #ifndef _Standard_Character_HeaderFile #include #endif #ifndef _Standard_ExtCharacter_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif #ifndef _Standard_PCharacter_HeaderFile #include #endif class Standard_NullObject; class Standard_OutOfRange; class Standard_NumericError; class Standard_NegativeValue; class TCollection_AsciiString; //! 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.
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); } //! Initializes a ExtendedString to an empty ExtendedString.
Standard_EXPORT TCollection_ExtendedString(); //! Creation by converting a CString to an extended string.
Standard_EXPORT TCollection_ExtendedString(const Standard_CString astring,const Standard_Boolean isMultiByte = Standard_False); //! Creation by converting an ExtString to an extended string.
Standard_EXPORT TCollection_ExtendedString(const Standard_ExtString astring); //! Initializes a AsciiString with a single character.
Standard_EXPORT TCollection_ExtendedString(const Standard_Character aChar); //! Initializes a ExtendedString with a single character.
Standard_EXPORT TCollection_ExtendedString(const Standard_ExtCharacter aChar); //! Initializes a ExtendedString with space allocated.
//! and filled with .This is useful for buffers.
Standard_EXPORT TCollection_ExtendedString(const Standard_Integer length,const Standard_ExtCharacter filler); //! Initializes an ExtendedString with an integer value
Standard_EXPORT TCollection_ExtendedString(const Standard_Integer value); //! Initializes an ExtendedString with a real value
Standard_EXPORT TCollection_ExtendedString(const Standard_Real value); //! Initializes a ExtendedString with another ExtendedString.
Standard_EXPORT TCollection_ExtendedString(const TCollection_ExtendedString& astring); //! Creation by converting a normal Ascii string to an extended string.
Standard_EXPORT TCollection_ExtendedString(const TCollection_AsciiString& astring); //! Appends the other extended string to this extended string.
//! Note that this method is an alias of operator +=.
//! Example: aString += anotherString
Standard_EXPORT void AssignCat(const TCollection_ExtendedString& other) ; void operator +=(const TCollection_ExtendedString& other) { AssignCat(other); } //! Appends to me.
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
//! in the ExtendedString .
//! The substitution can be case sensitive.
//! If you don't use default case sensitive, no matter wether aChar
//! is uppercase or not.
Standard_EXPORT void ChangeAll(const Standard_ExtCharacter aChar,const Standard_ExtCharacter NewChar) ; //! Removes all characters contained in .
//! This produces an empty ExtendedString.
Standard_EXPORT void Clear() ; //! Copy to .
//! Used as operator =
Standard_EXPORT void Copy(const TCollection_ExtendedString& fromwhere) ; void operator =(const TCollection_ExtendedString& fromwhere) { Copy(fromwhere); } //! Frees memory allocated by ExtendedString.
Standard_EXPORT void Destroy() ; ~TCollection_ExtendedString() { Destroy(); } //! Insert a Character at position .
Standard_EXPORT void Insert(const Standard_Integer where,const Standard_ExtCharacter what) ; //! Insert a ExtendedString at position .
Standard_EXPORT void Insert(const Standard_Integer where,const TCollection_ExtendedString& what) ; //! 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_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
//! string are identical to the characters in the other extended string.
//! Note that this method is an alias of operator ==
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
//! characters in this extended string and the other extended string.
//! Note that this method is an alias of operator !=.
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
//! characters in this extended string and the other extended string.
//! Note that this method is an alias of operator !=.
Standard_EXPORT Standard_Boolean IsDifferent(const TCollection_ExtendedString& other) const; Standard_Boolean operator !=(const TCollection_ExtendedString& other) const { return IsDifferent(other); } //! Returns TRUE if is less than .
Standard_EXPORT Standard_Boolean IsLess(const Standard_ExtString other) const; Standard_Boolean operator <(const Standard_ExtString other) const { return IsLess(other); } //! Returns TRUE if is less than .
Standard_EXPORT Standard_Boolean IsLess(const TCollection_ExtendedString& other) const; Standard_Boolean operator <(const TCollection_ExtendedString& other) const { return IsLess(other); } //! Returns TRUE if is greater than .
Standard_EXPORT Standard_Boolean IsGreater(const Standard_ExtString other) const; Standard_Boolean operator >(const Standard_ExtString other) const { return IsGreater(other); } //! Returns TRUE if is greater than .
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
//! "Ascii Range" characters .
Standard_EXPORT Standard_Boolean IsAscii() const; //! Returns number of characters in .
//! This is the same functionality as 'strlen' in C.
Standard_EXPORT Standard_Integer Length() const; //! Displays .
Standard_EXPORT void Print(Standard_OStream& astream) const; friend Standard_EXPORT Standard_OStream& operator << (Standard_OStream& astream,const TCollection_ExtendedString& astring); //! Removes every characters from .
Standard_EXPORT void RemoveAll(const Standard_ExtCharacter what) ; //! Erases characters from position , included.
Standard_EXPORT void Remove(const Standard_Integer where,const Standard_Integer ahowmany = 1) ; //! Searches a ExtendedString in from the beginning
//! and returns position of first item matching.
//! it returns -1 if not found.
Standard_EXPORT Standard_Integer Search(const TCollection_ExtendedString& what) const; //! Searches a ExtendedString in another ExtendedString from the
//! end and returns position of first item matching.
//! it returns -1 if not found.
Standard_EXPORT Standard_Integer SearchFromEnd(const TCollection_ExtendedString& what) const; //! Replaces one character in the ExtendedString at position .
//! If is less than zero or greater than the length of
//! an exception is raised.
Standard_EXPORT void SetValue(const Standard_Integer where,const Standard_ExtCharacter what) ; //! Replaces a part of by another ExtendedString see above.
Standard_EXPORT void SetValue(const Standard_Integer where,const TCollection_ExtendedString& what) ; //! 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 = "abc" and returns "defg"
Standard_EXPORT TCollection_ExtendedString Split(const Standard_Integer where) ; //! Extracts token from .
//! By default, the is set to space and tabulation.
//! By default, the token extracted is the first one (whichone = 1).
//! contains all separators you need.
//! If no token indexed by 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_EXPORT TCollection_ExtendedString Token(const Standard_ExtString separators,const Standard_Integer whichone = 1) const; //! Returns pointer to ExtString
Standard_EXPORT Standard_ExtString ToExtString() const; //! Truncates to characters.
//! Example: me = "Hello Dolly" -> Trunc(3) -> me = "Hel"
//! Exceptions
//! Standard_OutOfRange if ahowmany is greater
//! than the length of this string.
Standard_EXPORT void Trunc(const Standard_Integer ahowmany) ; //! Returns character at position in .
//! If is less than zero or greater than the lenght of
//! , 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.
Standard_EXPORT Standard_ExtCharacter Value(const Standard_Integer where) const; //! 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
Standard_EXPORT static Standard_Integer HashCode(const TCollection_ExtendedString& astring,const Standard_Integer Upper) ; //! 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_EXPORT static Standard_Boolean IsEqual(const TCollection_ExtendedString& string1,const TCollection_ExtendedString& string2) ; //! Converts the internal to UTF8 coding and
//! returns length of the out CString. A memory for the
//! should be allocated before call!
Standard_EXPORT Standard_Integer ToUTF8CString(Standard_PCharacter& theCString) 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_EXPORT Standard_Integer LengthOfCString() const; protected: private: //! Returns true if the input CString was successfuly converted
//! to UTF8 coding
Standard_EXPORT Standard_Boolean ConvertToUnicode(const Standard_CString astring) ; Standard_PExtCharacter mystring; Standard_Integer mylength; }; // other Inline functions and methods (like "C++: function call" methods) #endif