![]() |
Open CASCADE Technology Reference Manual 8.0.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 |
| int | Size () const noexcept |
| int | Length () const noexcept |
| char32_t | GetChar (const int theCharIndex) const |
| Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. | |
| const Type * | GetCharBuffer (const int theCharIndex) const |
| Retrieve string buffer at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. | |
| char32_t | operator[] (const int theCharIndex) const |
| Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. | |
| NCollection_UtfString () | |
| Initialize empty string. | |
| NCollection_UtfString (const NCollection_UtfString &theCopy) | |
| Copy constructor. | |
| NCollection_UtfString (NCollection_UtfString &&theOther) noexcept | |
| Move constructor. | |
| NCollection_UtfString (const char *theCopyUtf8, const int theLength=-1) | |
| Copy constructor from UTF-8 string. | |
| NCollection_UtfString (const char16_t *theCopyUtf16, const int theLength=-1) | |
| Copy constructor from UTF-16 string. | |
| NCollection_UtfString (const char32_t *theCopyUtf32, const int theLength=-1) | |
| Copy constructor from UTF-32 string. | |
| NCollection_UtfString (const wchar_t *theCopyUtfWide, const int theLength=-1) | |
| Copy constructor from wide UTF string. | |
| template<typename TypeFrom > | |
| void | FromUnicode (const TypeFrom *theStringUtf, const int theLength=-1) |
| Copy from Unicode string in UTF-8, UTF-16, or UTF-32 encoding, determined by size of TypeFrom character type. | |
| void | FromLocale (const char *theString, const int theLength=-1) |
| Copy from multibyte string in current system locale. | |
| ~NCollection_UtfString () | |
| Destructor. | |
| bool | IsEqual (const NCollection_UtfString &theCompare) const noexcept |
| Compares this string with another one. | |
| NCollection_UtfString | SubString (const int theStart, const int theEnd) const |
| Returns the substring. | |
| const Type * | ToCString () const noexcept |
| Returns NULL-terminated Unicode string. Should not be modified or deleted! | |
| const NCollection_UtfString< char > | ToUtf8 () const |
| const NCollection_UtfString< char16_t > | ToUtf16 () const |
| const NCollection_UtfString< char32_t > | ToUtf32 () const |
| const NCollection_UtfString< wchar_t > | ToUtfWide () const |
| bool | ToLocale (char *theBuffer, const int theSizeBytes) const |
| Converts the string into string in the current system locale. | |
| bool | IsEmpty () const noexcept |
| void | Clear () |
| Zero string. | |
compare operators | |
| bool | operator== (const NCollection_UtfString &theCompare) const noexcept |
| bool | operator!= (const NCollection_UtfString &theCompare) const noexcept |
assign operators | |
Copy from another string. | |
| const NCollection_UtfString & | Assign (const NCollection_UtfString &theOther) |
| Exchange the data of two strings (without reallocating memory). | |
| void | Swap (NCollection_UtfString &theOther) noexcept |
| Exchange the data of two strings (without reallocating memory). | |
| const NCollection_UtfString & | operator= (const NCollection_UtfString &theOther) |
| Copy from another string. | |
| NCollection_UtfString & | operator= (NCollection_UtfString &&theOther) |
| Move assignment operator. | |
| const NCollection_UtfString & | operator= (const char *theStringUtf8) |
| Copy from UTF-8 NULL-terminated string. | |
| const NCollection_UtfString & | operator= (const wchar_t *theStringUtfWide) |
| Copy from wchar_t UTF NULL-terminated string. | |
| NCollection_UtfString & | operator+= (const NCollection_UtfString &theAppend) |
| Join strings. | |
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.
In comments to this class, terms "Unicode symbol" is used as synonym of "Unicode code point".
| NCollection_UtfString< Type >::NCollection_UtfString | ( | ) |
Initialize empty string.
| NCollection_UtfString< Type >::NCollection_UtfString | ( | const NCollection_UtfString< Type > & | theCopy | ) |
Copy constructor.
| theCopy | string to copy. |
|
noexcept |
Move constructor.
| NCollection_UtfString< Type >::NCollection_UtfString | ( | const char * | theCopyUtf8, |
| const int | theLength = -1 ) |
Copy constructor from UTF-8 string.
| theCopyUtf8 | UTF-8 string to copy |
| theLength | optional length limit in Unicode symbols (NOT bytes!) The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
| NCollection_UtfString< Type >::NCollection_UtfString | ( | const char16_t * | theCopyUtf16, |
| const int | theLength = -1 ) |
Copy constructor from UTF-16 string.
| theCopyUtf16 | UTF-16 string to copy |
| theLength | the length limit in Unicode symbols (NOT bytes!) The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
| NCollection_UtfString< Type >::NCollection_UtfString | ( | const char32_t * | theCopyUtf32, |
| const int | theLength = -1 ) |
Copy constructor from UTF-32 string.
| theCopyUtf32 | UTF-32 string to copy |
| theLength | the length limit in Unicode symbols (NOT bytes!) The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
| NCollection_UtfString< Type >::NCollection_UtfString | ( | const wchar_t * | theCopyUtfWide, |
| const int | theLength = -1 ) |
Copy constructor from wide UTF string.
| theCopyUtfWide | wide UTF string to copy |
| theLength | the length limit in Unicode symbols (NOT bytes!) The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
This constructor is undefined if wchar_t is the same type as char16_t.
| NCollection_UtfString< Type >::~NCollection_UtfString | ( | ) |
Destructor.
| const NCollection_UtfString & NCollection_UtfString< Type >::Assign | ( | const NCollection_UtfString< Type > & | theOther | ) |
Exchange the data of two strings (without reallocating memory).
| void NCollection_UtfString< Type >::Clear | ( | ) |
Zero string.
| void NCollection_UtfString< Type >::FromLocale | ( | const char * | theString, |
| const int | theLength = -1 ) |
Copy from multibyte string in current system locale.
| theString | multibyte string |
| theLength | the length limit in Unicode symbols The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
|
inline |
Copy from Unicode string in UTF-8, UTF-16, or UTF-32 encoding, determined by size of TypeFrom character type.
| theStringUtf | Unicode string |
| theLength | the length limit in Unicode symbols The string is copied till NULL symbol or, if theLength >0, till either NULL or theLength-th symbol (which comes first). |
| char32_t NCollection_UtfString< Type >::GetChar | ( | const int | 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 int | 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 less than Length() (first symbol of the string has index 0) |
|
inlinenoexcept |
|
noexcept |
Compares this string with another one.
|
inline |
|
inlinenoexcept |
|
noexcept |
| NCollection_UtfString & NCollection_UtfString< Type >::operator+= | ( | const NCollection_UtfString< Type > & | theAppend | ) |
Join strings.
| const NCollection_UtfString & NCollection_UtfString< Type >::operator= | ( | const char * | theStringUtf8 | ) |
Copy from UTF-8 NULL-terminated string.
|
inline |
Copy from another string.
| const NCollection_UtfString & NCollection_UtfString< Type >::operator= | ( | const wchar_t * | theStringUtfWide | ) |
Copy from wchar_t UTF NULL-terminated string.
|
inline |
Move assignment operator.
|
inlinenoexcept |
|
inline |
Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.
|
inlinenoexcept |
| NCollection_UtfString NCollection_UtfString< Type >::SubString | ( | const int | theStart, |
| const int | theEnd ) const |
Returns the substring.
| theStart | start index (inclusive) of subString |
| theEnd | end index (exclusive) of subString |
|
noexcept |
Exchange the data of two strings (without reallocating memory).
|
inlinenoexcept |
Returns NULL-terminated Unicode string. Should not be modified or deleted!
| bool NCollection_UtfString< Type >::ToLocale | ( | char * | theBuffer, |
| const int | theSizeBytes ) const |
Converts the string into string in the current system locale.
| theBuffer | output buffer |
| theSizeBytes | buffer size in bytes |
| const NCollection_UtfString< char16_t > NCollection_UtfString< Type >::ToUtf16 | ( | ) | const |
| const NCollection_UtfString< char32_t > NCollection_UtfString< Type >::ToUtf32 | ( | ) | const |
| const NCollection_UtfString< char > NCollection_UtfString< Type >::ToUtf8 | ( | ) | const |
| const NCollection_UtfString< wchar_t > NCollection_UtfString< Type >::ToUtfWide | ( | ) | const |