// 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_AsciiString_HeaderFile #define _TCollection_AsciiString_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_PCharacter_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_Character_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif #ifndef _Standard_IStream_HeaderFile #include #endif class Standard_NullObject; class Standard_OutOfRange; class Standard_NumericError; class Standard_NegativeValue; class TCollection_HAsciiString; class TCollection_ExtendedString; //! A variable-length sequence of ASCII characters
//! (normal 8-bit character type). It provides editing
//! operations with built-in memory management to
//! make AsciiString objects easier to use than
//! ordinary character arrays.
//! AsciiString objects follow value semantics; in
//! other words, they are the actual strings, not
//! handles to strings, and are copied through
//! assignment. You may use HAsciiString objects
//! to get handles to strings.
class TCollection_AsciiString { 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 AsciiString to an empty AsciiString.
Standard_EXPORT TCollection_AsciiString(); //! Initializes a AsciiString with a CString.
Standard_EXPORT TCollection_AsciiString(const Standard_CString message); //! Initializes a AsciiString with a CString.
Standard_EXPORT TCollection_AsciiString(const Standard_CString message,const Standard_Integer aLen); //! Initializes a AsciiString with a single character.
Standard_EXPORT TCollection_AsciiString(const Standard_Character aChar); //! Initializes an AsciiString with space allocated.
//! and filled with . This is usefull for buffers.
Standard_EXPORT TCollection_AsciiString(const Standard_Integer length,const Standard_Character filler); //! Initializes an AsciiString with an integer value
Standard_EXPORT TCollection_AsciiString(const Standard_Integer value); //! Initializes an AsciiString with a real value
Standard_EXPORT TCollection_AsciiString(const Standard_Real value); //! Initializes a AsciiString with another AsciiString.
Standard_EXPORT TCollection_AsciiString(const TCollection_AsciiString& astring); //! Initializes a AsciiString with copy of another AsciiString
//! concatenated with the message character.
Standard_EXPORT TCollection_AsciiString(const TCollection_AsciiString& astring,const Standard_Character message); //! Initializes a AsciiString with copy of another AsciiString
//! concatenated with the message string.
Standard_EXPORT TCollection_AsciiString(const TCollection_AsciiString& astring,const Standard_CString message); //! Initializes a AsciiString with copy of another AsciiString
//! concatenated with the message string.
Standard_EXPORT TCollection_AsciiString(const TCollection_AsciiString& astring,const TCollection_AsciiString& message); //! Creation by converting an extended string to an ascii string.
//! If replaceNonAscii is non-null charecter, it will be used
//! in place of any non-ascii character found in the source string.
//! Otherwise, raises OutOfRange exception if at least one character
//! in the source string is not in the "Ascii range".
Standard_EXPORT TCollection_AsciiString(const TCollection_ExtendedString& astring,const Standard_Character replaceNonAscii = 0); //! Appends to me. This is an unary operator.
Standard_EXPORT void AssignCat(const Standard_Character other) ; void operator +=(const Standard_Character other) { AssignCat(other); } //! Appends to me. This is an unary operator.
Standard_EXPORT void AssignCat(const Standard_Integer other) ; void operator +=(const Standard_Integer other) { AssignCat(other); } //! Appends to me. This is an unary operator.
Standard_EXPORT void AssignCat(const Standard_Real other) ; void operator +=(const Standard_Real other) { AssignCat(other); } //! Appends to me. This is an unary operator.
//! ex: aString += "Dummy"
//! To catenate more than one CString, you must put a
//! AsciiString before.
//! Example: aString += "Hello " + "Dolly" IS NOT VALID !
//! But astring += anotherString + "Hello " + "Dolly" is valid.
Standard_EXPORT void AssignCat(const Standard_CString other) ; void operator +=(const Standard_CString other) { AssignCat(other); } //! Appends to me. This is an unary operator.
//! Example: aString += anotherString
Standard_EXPORT void AssignCat(const TCollection_AsciiString& other) ; void operator +=(const TCollection_AsciiString& other) { AssignCat(other); } //! Converts the first character into its corresponding
//! upper-case character and the other characters into lowercase
//! Example: before
//! me = "hellO "
//! after
//! me = "Hello "
Standard_EXPORT void Capitalize() ; //! Appends to me.
//! Syntax:
//! aString = aString + "Dummy"
//! Example: aString contains "I say "
//! aString = aString + "Hello " + "Dolly"
//! gives "I say Hello Dolly"
//! To catenate more than one CString, you must put a String before.
//! So the following example is WRONG !
//! aString = "Hello " + "Dolly" THIS IS NOT ALLOWED
//! This rule is applicable to AssignCat (operator +=) too.
TCollection_AsciiString Cat(const Standard_Character other) const; TCollection_AsciiString operator +(const Standard_Character other) const { return Cat(other); } //! Appends to me.
//! Syntax:
//! aString = aString + 15;
//! Example: aString contains "I say "
//! gives "I say 15"
//! To catenate more than one CString, you must put a String before.
//! So the following example is WRONG !
//! aString = "Hello " + "Dolly" THIS IS NOT ALLOWED
//! This rule is applicable to AssignCat (operator +=) too.
TCollection_AsciiString Cat(const Standard_Integer other) const; TCollection_AsciiString operator +(const Standard_Integer other) const { return Cat(other); } //! Appends to me.
//! Syntax:
//! aString = aString + 15.15;
//! Example: aString contains "I say "
//! gives "I say 15.15"
//! To catenate more than one CString, you must put a String before.
//! So the following example is WRONG !
//! aString = "Hello " + "Dolly" THIS IS NOT ALLOWED
//! This rule is applicable to AssignCat (operator +=) too.
TCollection_AsciiString Cat(const Standard_Real other) const; TCollection_AsciiString operator +(const Standard_Real other) const { return Cat(other); } //! Appends to me.
//! Syntax:
//! aString = aString + "Dummy"
//! Example: aString contains "I say "
//! aString = aString + "Hello " + "Dolly"
//! gives "I say Hello Dolly"
//! To catenate more than one CString, you must put a String before.
//! So the following example is WRONG !
//! aString = "Hello " + "Dolly" THIS IS NOT ALLOWED
//! This rule is applicable to AssignCat (operator +=) too.
TCollection_AsciiString Cat(const Standard_CString other) const; TCollection_AsciiString operator +(const Standard_CString other) const { return Cat(other); } //! Appends to me.
//! Example: aString = aString + anotherString
TCollection_AsciiString Cat(const TCollection_AsciiString& other) const; TCollection_AsciiString operator +(const TCollection_AsciiString& other) const { return Cat(other); } //! Modifies this ASCII string so that its length
//! becomes equal to Width and the new characters
//! are equal to Filler. New characters are added
//! both at the beginning and at the end of this string.
//! If Width is less than the length of this ASCII string, nothing happens.
//! Example
//! TCollection_AsciiString
//! myAlphabet("abcdef");
//! myAlphabet.Center(9,' ');
//! assert ( myAlphabet == "
//! abcdef " );
Standard_EXPORT void Center(const Standard_Integer Width,const Standard_Character Filler) ; //! Substitutes all the characters equal to aChar by NewChar
//! in the AsciiString .
//! The substitution can be case sensitive.
//! If you don't use default case sensitive, no matter wether aChar
//! is uppercase or not.
//! Example: me = "Histake" -> ChangeAll('H','M',Standard_True)
//! gives me = "Mistake"
Standard_EXPORT void ChangeAll(const Standard_Character aChar,const Standard_Character NewChar,const Standard_Boolean CaseSensitive = Standard_True) ; //! Removes all characters contained in .
//! This produces an empty AsciiString.
Standard_EXPORT void Clear() ; //! Copy to .
//! Used as operator =
//! Example: aString = anotherCString;
Standard_EXPORT void Copy(const Standard_CString fromwhere) ; void operator =(const Standard_CString fromwhere) { Copy(fromwhere); } //! Copy to .
//! Used as operator =
//! Example: aString = anotherString;
Standard_EXPORT void Copy(const TCollection_AsciiString& fromwhere) ; void operator =(const TCollection_AsciiString& fromwhere) { Copy(fromwhere); } //! Frees memory allocated by AsciiString.
Standard_EXPORT void Destroy() ; ~TCollection_AsciiString() { Destroy(); } //! Returns the index of the first character of that is
//! present in .
//! The search begins to the index FromIndex and ends to the
//! the index ToIndex.
//! Returns zero if failure.
//! Raises an exception if FromIndex or ToIndex is out of range.
//! Example: before
//! me = "aabAcAa", S = "Aa", FromIndex = 1, Toindex = 7
//! after
//! me = "aabAcAa"
//! returns
//! 1
Standard_EXPORT Standard_Integer FirstLocationInSet(const TCollection_AsciiString& Set,const Standard_Integer FromIndex,const Standard_Integer ToIndex) const; //! Returns the index of the first character of
//! that is not present in the set .
//! The search begins to the index FromIndex and ends to the
//! the index ToIndex in .
//! Returns zero if failure.
//! Raises an exception if FromIndex or ToIndex is out of range.
//! Example: before
//! me = "aabAcAa", S = "Aa", FromIndex = 1, Toindex = 7
//! after
//! me = "aabAcAa"
//! returns
//! 3
Standard_EXPORT Standard_Integer FirstLocationNotInSet(const TCollection_AsciiString& Set,const Standard_Integer FromIndex,const Standard_Integer ToIndex) const; //! Inserts a Character at position .
//! Example:
//! aString contains "hy not ?"
//! aString.Insert(1,'W'); gives "Why not ?"
//! aString contains "Wh"
//! aString.Insert(3,'y'); gives "Why"
//! aString contains "Way"
//! aString.Insert(2,'h'); gives "Why"
Standard_EXPORT void Insert(const Standard_Integer where,const Standard_Character what) ; //! Inserts a CString at position .
//! Example:
//! aString contains "O more"
//! aString.Insert(2,"nce"); gives "Once more"
Standard_EXPORT void Insert(const Standard_Integer where,const Standard_CString what) ; //! Inserts a AsciiString at position .
Standard_EXPORT void Insert(const Standard_Integer where,const TCollection_AsciiString& what) ; //! Pushing a string after a specific index in the string .
//! Raises an exception if Index is out of bounds.
//! - less than 0 (InsertAfter), or less than 1 (InsertBefore), or
//! - greater than the number of characters in this ASCII string.
//! Example:
//! before
//! me = "cde" , Index = 0 , other = "ab"
//! after
//! me = "abcde" , other = "ab"
Standard_EXPORT void InsertAfter(const Standard_Integer Index,const TCollection_AsciiString& other) ; //! Pushing a string before a specific index in the string .
//! Raises an exception if Index is out of bounds.
//! - less than 0 (InsertAfter), or less than 1 (InsertBefore), or
//! - greater than the number of characters in this ASCII string.
//! Example:
//! before
//! me = "cde" , Index = 1 , other = "ab"
//! after
//! me = "abcde" , other = "ab"
Standard_EXPORT void InsertBefore(const Standard_Integer Index,const TCollection_AsciiString& other) ; //! Returns True if the string contains zero character.
Standard_EXPORT Standard_Boolean IsEmpty() const; //! Returns true if the characters in this ASCII string
//! are identical to the characters in ASCII string other.
//! Note that this method is an alias of operator ==.
Standard_EXPORT Standard_Boolean IsEqual(const Standard_CString other) const; Standard_Boolean operator ==(const Standard_CString other) const { return IsEqual(other); } //! Returns true if the characters in this ASCII string
//! are identical to the characters in ASCII string other.
//! Note that this method is an alias of operator ==.
Standard_EXPORT Standard_Boolean IsEqual(const TCollection_AsciiString& other) const; Standard_Boolean operator ==(const TCollection_AsciiString& other) const { return IsEqual(other); } //! Returns true if there are differences between the
//! characters in this ASCII string and ASCII string other.
//! Note that this method is an alias of operator !=
Standard_EXPORT Standard_Boolean IsDifferent(const Standard_CString other) const; Standard_Boolean operator !=(const Standard_CString other) const { return IsDifferent(other); } //! Returns true if there are differences between the
//! characters in this ASCII string and ASCII string other.
//! Note that this method is an alias of operator !=
Standard_EXPORT Standard_Boolean IsDifferent(const TCollection_AsciiString& other) const; Standard_Boolean operator !=(const TCollection_AsciiString& other) const { return IsDifferent(other); } //! Returns TRUE if is 'ASCII' less than .
Standard_EXPORT Standard_Boolean IsLess(const Standard_CString other) const; Standard_Boolean operator <(const Standard_CString other) const { return IsLess(other); } //! Returns TRUE if is 'ASCII' less than .
Standard_EXPORT Standard_Boolean IsLess(const TCollection_AsciiString& other) const; Standard_Boolean operator <(const TCollection_AsciiString& other) const { return IsLess(other); } //! Returns TRUE if is 'ASCII' greater than .
Standard_EXPORT Standard_Boolean IsGreater(const Standard_CString other) const; Standard_Boolean operator >(const Standard_CString other) const { return IsGreater(other); } //! Returns TRUE if is 'ASCII' greater than .
Standard_EXPORT Standard_Boolean IsGreater(const TCollection_AsciiString& other) const; Standard_Boolean operator >(const TCollection_AsciiString& other) const { return IsGreater(other); } //! Converts a AsciiString containing a numeric expression to
//! an Integer.
//! Example: "215" returns 215.
Standard_EXPORT Standard_Integer IntegerValue() const; //! Returns True if the AsciiString contains an integer value.
//! Note: an integer value is considered to be a real value as well.
Standard_EXPORT Standard_Boolean IsIntegerValue() const; //! Returns True if the AsciiString contains a real value.
//! Note: an integer value is considered to be a real value as well.
Standard_EXPORT Standard_Boolean IsRealValue() const; //! Returns True if the AsciiString contains only ASCII characters
//! between ' ' and '~'.
//! This means no control character and no extended ASCII code.
Standard_EXPORT Standard_Boolean IsAscii() const; //! Removes all space characters in the begining of the string.
Standard_EXPORT void LeftAdjust() ; //! left justify
//! Length becomes equal to Width and the new characters are
//! equal to Filler.
//! If Width < Length nothing happens.
//! Raises an exception if Width is less than zero.
//! Example:
//! before
//! me = "abcdef" , Width = 9 , Filler = ' '
//! after
//! me = "abcdef "
Standard_EXPORT void LeftJustify(const Standard_Integer Width,const Standard_Character Filler) ; //! Returns number of characters in .
//! This is the same functionality as 'strlen' in C.
//! Example
//! TCollection_AsciiString myAlphabet("abcdef");
//! assert ( myAlphabet.Length() == 6 );
//! - 1 is the position of the first character in this string.
//! - The length of this string gives the position of its last character.
//! - Positions less than or equal to zero, or
//! greater than the length of this string are
//! invalid in functions which identify a character
//! of this string by its position.
Standard_Integer Length() const; //! Returns an index in the string of the first occurence
//! of the string S in the string from the starting index
//! FromIndex to the ending index ToIndex
//! returns zero if failure
//! Raises an exception if FromIndex or ToIndex is out of range.
//! Example:
//! before
//! me = "aabAaAa", S = "Aa", FromIndex = 1, ToIndex = 7
//! after
//! me = "aabAaAa"
//! returns
//! 4
Standard_EXPORT Standard_Integer Location(const TCollection_AsciiString& other,const Standard_Integer FromIndex,const Standard_Integer ToIndex) const; //! Returns the index of the nth occurence of the character C
//! in the string from the starting index FromIndex to the
//! ending index ToIndex.
//! Returns zero if failure.
//! Raises an exception if FromIndex or ToIndex is out of range.
//! Example:
//! before
//! me = "aabAa", N = 3, C = 'a', FromIndex = 1, ToIndex = 5
//! after
//! me = "aabAa"
//! returns
//! 5
Standard_EXPORT Standard_Integer Location(const Standard_Integer N,const Standard_Character C,const Standard_Integer FromIndex,const Standard_Integer ToIndex) const; //! Converts to its lower-case equivalent.
//! Example
//! TCollection_AsciiString myString("Hello Dolly");
//! myString.UpperCase();
//! assert ( myString == "HELLO DOLLY" );
//! myString.LowerCase();
//! assert ( myString == "hello dolly" );
Standard_EXPORT void LowerCase() ; //! Inserts the string other at the beginning of this ASCII string.
//! Example
//! TCollection_AsciiString myAlphabet("cde");
//! TCollection_AsciiString myBegin("ab");
//! myAlphabet.Prepend(myBegin);
//! assert ( myAlphabet == "abcde" );
Standard_EXPORT void Prepend(const TCollection_AsciiString& other) ; //! Displays on a stream.
Standard_EXPORT void Print(Standard_OStream& astream) const; friend Standard_EXPORT Standard_OStream& operator << (Standard_OStream& astream,const TCollection_AsciiString& astring); //! Read from a stream.
Standard_EXPORT void Read(Standard_IStream& astream) ; friend Standard_EXPORT Standard_IStream& operator >> (Standard_IStream& astream, TCollection_AsciiString& astring); //! Converts an AsciiString containing a numeric expression.
//! to a Real.
//! Example: ex: "215" returns 215.0.
//! ex: "3.14159267" returns 3.14159267.
Standard_EXPORT Standard_Real RealValue() const; //! Remove all the occurences of the character C in the string.
//! Example:
//! before
//! me = "HellLLo", C = 'L' , CaseSensitive = True
//! after
//! me = "Hello"
Standard_EXPORT void RemoveAll(const Standard_Character C,const Standard_Boolean CaseSensitive) ; //! Removes every characters from .
Standard_EXPORT void RemoveAll(const Standard_Character what) ; //! Erases characters from position ,
//! included.
//! Example:
//! aString contains "Hello"
//! aString.Remove(2,2) erases 2 characters from position 2
//! This gives "Hlo".
Standard_EXPORT void Remove(const Standard_Integer where,const Standard_Integer ahowmany = 1) ; //! Removes all space characters at the end of the string.
Standard_EXPORT void RightAdjust() ; //! Right justify.
//! Length becomes equal to Width and the new characters are
//! equal to Filler.
//! if Width < Length nothing happens.
//! Raises an exception if Width is less than zero.
//! Example:
//! before
//! me = "abcdef" , Width = 9 , Filler = ' '
//! after
//! me = " abcdef"
Standard_EXPORT void RightJustify(const Standard_Integer Width,const Standard_Character Filler) ; //! Searches a CString in from the beginning
//! and returns position of first item matching.
//! it returns -1 if not found.
//! Example:
//! aString contains "Sample single test"
//! aString.Search("le") returns 5
Standard_EXPORT Standard_Integer Search(const Standard_CString what) const; //! Searches an AsciiString in from the beginning
//! and returns position of first item matching.
//! It returns -1 if not found.
Standard_EXPORT Standard_Integer Search(const TCollection_AsciiString& what) const; //! Searches a CString in a AsciiString from the end
//! and returns position of first item matching.
//! It returns -1 if not found.
//! Example:
//! aString contains "Sample single test"
//! aString.SearchFromEnd("le") returns 12
Standard_EXPORT Standard_Integer SearchFromEnd(const Standard_CString what) const; //! Searches a AsciiString in another AsciiString from the end
//! and returns position of first item matching.
//! It returns -1 if not found.
Standard_EXPORT Standard_Integer SearchFromEnd(const TCollection_AsciiString& what) const; //! Replaces one character in the AsciiString at position .
//! If is less than zero or greater than the length of
//! an exception is raised.
//! Example:
//! aString contains "Garbake"
//! astring.Replace(6,'g') gives = "Garbage"
Standard_EXPORT void SetValue(const Standard_Integer where,const Standard_Character what) ; //! Replaces a part of by a CString.
//! If is less than zero or greater than the length of
//! an exception is raised.
//! Example:
//! aString contains "abcde"
//! aString.SetValue(4,"1234567") gives = "abc1234567"
Standard_EXPORT void SetValue(const Standard_Integer where,const Standard_CString what) ; //! Replaces a part of by another AsciiString.
Standard_EXPORT void SetValue(const Standard_Integer where,const TCollection_AsciiString& what) ; //! Splits a AsciiString into two sub-strings.
//! Example:
//! aString contains "abcdefg"
//! aString.Split(3) gives = "abc" and returns "defg"
Standard_EXPORT TCollection_AsciiString Split(const Standard_Integer where) ; //! Creation of a sub-string of the string .
//! The sub-string starts to the index Fromindex and ends
//! to the index ToIndex.
//! Raises an exception if ToIndex or FromIndex is out of bounds
//! Example:
//! before
//! me = "abcdefg", ToIndex=3, FromIndex=6
//! after
//! me = "abcdefg"
//! returns
//! "cdef"
TCollection_AsciiString SubString(const Standard_Integer FromIndex,const Standard_Integer ToIndex) const; //! Returns pointer to AsciiString (char *).
//! This is useful for some casual manipulations.
//! Warning: Because this "char *" is 'const', you can't modify its contents.
Standard_CString ToCString() const; //! 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 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_AsciiString Token(const Standard_CString separators = " \t",const Standard_Integer whichone = 1) const; //! Truncates to characters.
//! Example: me = "Hello Dolly" -> Trunc(3) -> me = "Hel"
Standard_EXPORT void Trunc(const Standard_Integer ahowmany) ; //! Converts to its upper-case equivalent.
Standard_EXPORT void UpperCase() ; //! Length of the string ignoring all spaces (' ') and the
//! control character at the end.
Standard_EXPORT Standard_Integer UsefullLength() const; //! 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'
Standard_EXPORT Standard_Character Value(const Standard_Integer where) const; //! Hash function for AsciiString
//! (returns the same Integer value that the hash function for ExtendedString)
static Standard_Integer HashCode(const TCollection_AsciiString& astring,const Standard_Integer Upper) ; //! Returns True when the two strings are the same.
//! (Just for HashCode for AsciiString)
static Standard_Boolean IsEqual(const TCollection_AsciiString& string1,const TCollection_AsciiString& string2) ; //! Returns True when the two strings are the same.
//! (Just for HashCode for AsciiString)
static Standard_Boolean IsEqual(const TCollection_AsciiString& string1,const Standard_CString string2) ; //! Hash function for AsciiString no case sensitive
static Standard_Integer HASHCODE(const TCollection_AsciiString& astring,const Standard_Integer Upper) ; //! Returns True when the two strings are the same
//! (no case sensitive).
//! (Just for HashCode for AsciiString)
Standard_EXPORT static Standard_Boolean ISSIMILAR(const TCollection_AsciiString& string1,const TCollection_AsciiString& string2) ; friend class TCollection_HAsciiString; protected: private: Standard_EXPORT void Split(const Standard_Integer where,TCollection_AsciiString& result) ; Standard_EXPORT void SubString(const Standard_Integer FromIndex,const Standard_Integer ToIndex,TCollection_AsciiString& result) const; Standard_EXPORT void Token(const Standard_CString separators,const Standard_Integer whichone,TCollection_AsciiString& result) const; Standard_PCharacter mystring; Standard_Integer mylength; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif