Open CASCADE Technology
7.2.0
|
This template class represent constant UTF-* string. String stored in memory continuously, always NULL-terminated and can be used as standard C-string using ToCString() method. More...
#include <NCollection_UtfString.hxx>
Public Member Functions | |
NCollection_UtfIterator< Type > | Iterator () const |
Standard_Integer | Size () const |
Standard_Integer | Length () const |
Standard_Utf32Char | GetChar (const Standard_Integer theCharIndex) const |
Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More... | |
const Type * | GetCharBuffer (const Standard_Integer theCharIndex) const |
Retrieve string buffer at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More... | |
Standard_Utf32Char | operator[] (const Standard_Integer theCharIndex) const |
Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More... | |
NCollection_UtfString () | |
Initialize empty string. More... | |
NCollection_UtfString (const NCollection_UtfString &theCopy) | |
Copy constructor. More... | |
NCollection_UtfString (const char *theCopyUtf8, const Standard_Integer theLength=-1) | |
Copy constructor from NULL-terminated UTF-8 string. More... | |
NCollection_UtfString (const Standard_Utf16Char *theCopyUtf16, const Standard_Integer theLength=-1) | |
Copy constructor from NULL-terminated UTF-16 string. More... | |
NCollection_UtfString (const Standard_Utf32Char *theCopyUtf32, const Standard_Integer theLength=-1) | |
Copy constructor from NULL-terminated UTF-32 string. More... | |
NCollection_UtfString (const Standard_WideChar *theCopyUtfWide, const Standard_Integer theLength=-1) | |
Copy constructor from NULL-terminated wide UTF string. More... | |
template<typename TypeFrom > | |
void | FromUnicode (const TypeFrom *theStringUtf, const Standard_Integer theLength=-1) |
Copy from NULL-terminated Unicode string. More... | |
void | FromLocale (const char *theString, const Standard_Integer theLength=-1) |
Copy from NULL-terminated multibyte string in system locale. You should avoid this function unless extreme necessity. More... | |
~NCollection_UtfString () | |
Destructor. More... | |
bool | IsEqual (const NCollection_UtfString &theCompare) const |
Compares this string with another one. More... | |
NCollection_UtfString | SubString (const Standard_Integer theStart, const Standard_Integer theEnd) const |
Returns the substring. More... | |
const Type * | ToCString () const |
Returns NULL-terminated Unicode string. Should not be modifed or deleted! More... | |
const NCollection_UtfString< Standard_Utf8Char > | ToUtf8 () const |
const NCollection_UtfString< Standard_Utf16Char > | ToUtf16 () const |
const NCollection_UtfString< Standard_Utf32Char > | ToUtf32 () const |
const NCollection_UtfString< Standard_WideChar > | ToUtfWide () const |
bool | ToLocale (char *theBuffer, const Standard_Integer theSizeBytes) const |
Converts the string into multibyte string. You should avoid this function unless extreme necessity. More... | |
bool | IsEmpty () const |
void | Clear () |
Zero string. More... | |
compare operators | |
bool | operator== (const NCollection_UtfString &theCompare) const |
bool | operator!= (const NCollection_UtfString &theCompare) const |
assign operators | |
const NCollection_UtfString & | operator= (const NCollection_UtfString &theOther) |
Copy from another string. More... | |
const NCollection_UtfString & | operator= (const char *theStringUtf8) |
Copy from UTF-8 NULL-terminated string. More... | |
const NCollection_UtfString & | operator= (const Standard_WideChar *theStringUtfWide) |
Copy from wchar_t UTF NULL-terminated string. More... | |
NCollection_UtfString & | operator+= (const NCollection_UtfString &theAppend) |
Join strings. More... | |
NCollection_UtfString | operator+ (const NCollection_UtfString &theLeft, const NCollection_UtfString &theRight) |
Join two strings. More... | |
This template class represent constant UTF-* string. String stored in memory continuously, always NULL-terminated and can be used as standard C-string using ToCString() method.
Notice that changing the string is not allowed and any modifications should produce new string.
NCollection_UtfString< Type >::NCollection_UtfString | ( | ) |
Initialize empty string.
NCollection_UtfString< Type >::NCollection_UtfString | ( | const NCollection_UtfString< Type > & | theCopy | ) |
Copy constructor.
theCopy | string to copy. |
NCollection_UtfString< Type >::NCollection_UtfString | ( | const char * | theCopyUtf8, |
const Standard_Integer | theLength = -1 |
||
) |
Copy constructor from NULL-terminated UTF-8 string.
theCopyUtf8 | NULL-terminated UTF-8 string to copy |
theLength | the length limit in Unicode symbols (NOT bytes!) |
NCollection_UtfString< Type >::NCollection_UtfString | ( | const Standard_Utf16Char * | theCopyUtf16, |
const Standard_Integer | theLength = -1 |
||
) |
Copy constructor from NULL-terminated UTF-16 string.
theCopyUtf16 | NULL-terminated UTF-16 string to copy |
theLength | the length limit in Unicode symbols (NOT bytes!) |
NCollection_UtfString< Type >::NCollection_UtfString | ( | const Standard_Utf32Char * | theCopyUtf32, |
const Standard_Integer | theLength = -1 |
||
) |
Copy constructor from NULL-terminated UTF-32 string.
theCopyUtf32 | NULL-terminated UTF-32 string to copy |
theLength | the length limit in Unicode symbols (NOT bytes!) |
NCollection_UtfString< Type >::NCollection_UtfString | ( | const Standard_WideChar * | theCopyUtfWide, |
const Standard_Integer | theLength = -1 |
||
) |
Copy constructor from NULL-terminated wide UTF string.
theCopyUtfWide | NULL-terminated wide UTF string to copy |
theLength | the length limit in Unicode symbols (NOT bytes!) |
This constructor is undefined if Standard_WideChar is the same type as Standard_Utf16Char.
NCollection_UtfString< Type >::~NCollection_UtfString | ( | ) |
Destructor.
void NCollection_UtfString< Type >::Clear | ( | ) |
Zero string.
void NCollection_UtfString< Type >::FromLocale | ( | const char * | theString, |
const Standard_Integer | theLength = -1 |
||
) |
Copy from NULL-terminated multibyte string in system locale. You should avoid this function unless extreme necessity.
theString | NULL-terminated multibyte string |
theLength | the length limit in Unicode symbols |
void NCollection_UtfString< Type >::FromUnicode | ( | const TypeFrom * | theStringUtf, |
const Standard_Integer | theLength = -1 |
||
) |
Copy from NULL-terminated Unicode string.
theStringUtf | NULL-terminated Unicode string |
theLength | the length limit in Unicode symbols |
Standard_Utf32Char NCollection_UtfString< Type >::GetChar | ( | const Standard_Integer | theCharIndex | ) | const |
Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.
theCharIndex | the index of the symbol, should be lesser than Length() |
const Type* NCollection_UtfString< Type >::GetCharBuffer | ( | const Standard_Integer | theCharIndex | ) | const |
Retrieve string buffer at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.
theCharIndex | the index of the symbol, should be lesser than Length() |
|
inline |
bool NCollection_UtfString< Type >::IsEqual | ( | const NCollection_UtfString< Type > & | theCompare | ) | const |
Compares this string with another one.
|
inline |
|
inline |
bool NCollection_UtfString< Type >::operator!= | ( | const NCollection_UtfString< Type > & | theCompare | ) | const |
NCollection_UtfString& NCollection_UtfString< Type >::operator+= | ( | const NCollection_UtfString< Type > & | theAppend | ) |
Join strings.
const NCollection_UtfString& NCollection_UtfString< Type >::operator= | ( | const NCollection_UtfString< Type > & | theOther | ) |
Copy from another string.
const NCollection_UtfString& NCollection_UtfString< Type >::operator= | ( | const char * | theStringUtf8 | ) |
Copy from UTF-8 NULL-terminated string.
const NCollection_UtfString& NCollection_UtfString< Type >::operator= | ( | const Standard_WideChar * | theStringUtfWide | ) |
Copy from wchar_t UTF NULL-terminated string.
|
inline |
|
inline |
Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.
|
inline |
NCollection_UtfString NCollection_UtfString< Type >::SubString | ( | const Standard_Integer | theStart, |
const Standard_Integer | theEnd | ||
) | const |
Returns the substring.
theStart | start index (inclusive) of subString |
theEnd | end index (exclusive) of subString |
|
inline |
Returns NULL-terminated Unicode string. Should not be modifed or deleted!
bool NCollection_UtfString< Type >::ToLocale | ( | char * | theBuffer, |
const Standard_Integer | theSizeBytes | ||
) | const |
Converts the string into multibyte string. You should avoid this function unless extreme necessity.
theBuffer | output buffer |
theSizeBytes | buffer size in bytes |
const NCollection_UtfString<Standard_Utf16Char> NCollection_UtfString< Type >::ToUtf16 | ( | ) | const |
const NCollection_UtfString<Standard_Utf32Char> NCollection_UtfString< Type >::ToUtf32 | ( | ) | const |
const NCollection_UtfString<Standard_Utf8Char> NCollection_UtfString< Type >::ToUtf8 | ( | ) | const |
const NCollection_UtfString<Standard_WideChar> NCollection_UtfString< Type >::ToUtfWide | ( | ) | const |
|
friend |
Join two strings.