Open CASCADE Technology 7.8.0
|
Template class for Unicode strings support. More...
#include <NCollection_UtfIterator.hxx>
Public Member Functions | |
NCollection_UtfIterator (const Type *theString) | |
Constructor. | |
void | Init (const Type *theString) |
Initialize iterator within specified NULL-terminated string. | |
NCollection_UtfIterator & | operator++ () |
Pre-increment operator. Reads the next unicode symbol. Notice - no protection against overrun! | |
NCollection_UtfIterator | operator++ (int) |
Post-increment operator. Notice - no protection against overrun! | |
bool | operator== (const NCollection_UtfIterator &theRight) const |
Equality operator. | |
bool | IsValid () const |
Return true if Unicode symbol is within valid range. | |
Standard_Utf32Char | operator* () const |
Dereference operator. | |
const Type * | BufferHere () const |
Buffer-fetching getter. | |
Type * | ChangeBufferHere () |
Buffer-fetching getter. Dangerous! Iterator should be reinitialized on buffer change. | |
const Type * | BufferNext () const |
Buffer-fetching getter. | |
Standard_Integer | Index () const |
Standard_Integer | AdvanceBytesUtf8 () const |
Standard_Integer | AdvanceBytesUtf16 () const |
Standard_Integer | AdvanceCodeUnitsUtf16 () const |
Standard_Integer | AdvanceBytesUtf32 () const |
Standard_Utf8Char * | GetUtf8 (Standard_Utf8Char *theBuffer) const |
Fill the UTF-8 buffer within current Unicode symbol. Use method AdvanceUtf8() to allocate buffer with enough size. | |
Standard_Utf8UChar * | GetUtf8 (Standard_Utf8UChar *theBuffer) const |
Standard_Utf16Char * | GetUtf16 (Standard_Utf16Char *theBuffer) const |
Fill the UTF-16 buffer within current Unicode symbol. Use method AdvanceUtf16() to allocate buffer with enough size. | |
Standard_Utf32Char * | GetUtf32 (Standard_Utf32Char *theBuffer) const |
Fill the UTF-32 buffer within current Unicode symbol. Use method AdvanceUtf32() to allocate buffer with enough size. | |
template<typename TypeWrite > | |
Standard_Integer | AdvanceBytesUtf () const |
template<typename TypeWrite > | |
TypeWrite * | GetUtf (TypeWrite *theBuffer) const |
Fill the UTF-** buffer within current Unicode symbol. Use method AdvanceUtf**() to allocate buffer with enough size. | |
Template class for Unicode strings support.
It defines an iterator and provide correct way to read multi-byte text (UTF-8 and UTF-16) and convert it from one to another. The current value of iterator is returned as UTF-32 Unicode symbol.
Here and below term "Unicode symbol" is used as synonym of "Unicode code point".
|
inline |
Constructor.
theString | buffer to iterate |
|
inline |
Standard_Integer NCollection_UtfIterator< Type >::AdvanceBytesUtf16 | ( | ) | const |
|
inline |
Standard_Integer NCollection_UtfIterator< Type >::AdvanceBytesUtf8 | ( | ) | const |
Standard_Integer NCollection_UtfIterator< Type >::AdvanceCodeUnitsUtf16 | ( | ) | const |
|
inline |
Buffer-fetching getter.
|
inline |
Buffer-fetching getter.
|
inline |
Buffer-fetching getter. Dangerous! Iterator should be reinitialized on buffer change.
|
inline |
Fill the UTF-** buffer within current Unicode symbol. Use method AdvanceUtf**() to allocate buffer with enough size.
theBuffer | buffer to fill |
Standard_Utf16Char * NCollection_UtfIterator< Type >::GetUtf16 | ( | Standard_Utf16Char * | theBuffer | ) | const |
Fill the UTF-16 buffer within current Unicode symbol. Use method AdvanceUtf16() to allocate buffer with enough size.
theBuffer | buffer to fill |
Standard_Utf32Char * NCollection_UtfIterator< Type >::GetUtf32 | ( | Standard_Utf32Char * | theBuffer | ) | const |
Fill the UTF-32 buffer within current Unicode symbol. Use method AdvanceUtf32() to allocate buffer with enough size.
theBuffer | buffer to fill |
Standard_Utf8Char * NCollection_UtfIterator< Type >::GetUtf8 | ( | Standard_Utf8Char * | theBuffer | ) | const |
Fill the UTF-8 buffer within current Unicode symbol. Use method AdvanceUtf8() to allocate buffer with enough size.
theBuffer | buffer to fill |
Standard_Utf8UChar * NCollection_UtfIterator< Type >::GetUtf8 | ( | Standard_Utf8UChar * | theBuffer | ) | const |
|
inline |
|
inline |
Initialize iterator within specified NULL-terminated string.
|
inline |
Return true if Unicode symbol is within valid range.
|
inline |
Dereference operator.
|
inline |
Pre-increment operator. Reads the next unicode symbol. Notice - no protection against overrun!
|
inline |
Post-increment operator. Notice - no protection against overrun!
|
inline |
Equality operator.