![]() |
Open CASCADE Technology Reference Manual 8.0.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! | |
| constexpr bool | operator== (const NCollection_UtfIterator &theRight) const noexcept |
| Equality operator. | |
| constexpr bool | IsValid () const noexcept |
| Return true if Unicode symbol is within valid range. | |
| constexpr char32_t | operator* () const noexcept |
| Dereference operator. | |
| constexpr const Type * | BufferHere () const noexcept |
| Buffer-fetching getter. | |
| Type * | ChangeBufferHere () noexcept |
| Buffer-fetching getter. Dangerous! Iterator should be reinitialized on buffer change. | |
| constexpr const Type * | BufferNext () const noexcept |
| Buffer-fetching getter. | |
| constexpr int | Index () const noexcept |
| int | AdvanceBytesUtf8 () const |
| int | AdvanceBytesUtf16 () const |
| int | AdvanceCodeUnitsUtf16 () const |
| constexpr int | AdvanceBytesUtf32 () const noexcept |
| char * | GetUtf8 (char *theBuffer) const |
| Fill the UTF-8 buffer within current Unicode symbol. Use method AdvanceUtf8() to allocate buffer with enough size. | |
| unsigned char * | GetUtf8 (unsigned char *theBuffer) const |
| char16_t * | GetUtf16 (char16_t *theBuffer) const |
| Fill the UTF-16 buffer within current Unicode symbol. Use method AdvanceUtf16() to allocate buffer with enough size. | |
| char32_t * | GetUtf32 (char32_t *theBuffer) const |
| Fill the UTF-32 buffer within current Unicode symbol. Use method AdvanceUtf32() to allocate buffer with enough size. | |
| template<typename TypeWrite > | |
| int | 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 |
| int NCollection_UtfIterator< Type >::AdvanceBytesUtf16 | ( | ) | const |
|
inlineconstexprnoexcept |
| int NCollection_UtfIterator< Type >::AdvanceBytesUtf8 | ( | ) | const |
| int NCollection_UtfIterator< Type >::AdvanceCodeUnitsUtf16 | ( | ) | const |
|
inlineconstexprnoexcept |
Buffer-fetching getter.
|
inlineconstexprnoexcept |
Buffer-fetching getter.
|
inlinenoexcept |
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 |
| char16_t * NCollection_UtfIterator< Type >::GetUtf16 | ( | char16_t * | theBuffer | ) | const |
Fill the UTF-16 buffer within current Unicode symbol. Use method AdvanceUtf16() to allocate buffer with enough size.
| theBuffer | buffer to fill |
| char32_t * NCollection_UtfIterator< Type >::GetUtf32 | ( | char32_t * | theBuffer | ) | const |
Fill the UTF-32 buffer within current Unicode symbol. Use method AdvanceUtf32() to allocate buffer with enough size.
| theBuffer | buffer to fill |
| char * NCollection_UtfIterator< Type >::GetUtf8 | ( | char * | theBuffer | ) | const |
Fill the UTF-8 buffer within current Unicode symbol. Use method AdvanceUtf8() to allocate buffer with enough size.
| theBuffer | buffer to fill |
| unsigned char * NCollection_UtfIterator< Type >::GetUtf8 | ( | unsigned char * | theBuffer | ) | const |
|
inlineconstexprnoexcept |
|
inline |
Initialize iterator within specified NULL-terminated string.
|
inlineconstexprnoexcept |
Return true if Unicode symbol is within valid range.
|
inlineconstexprnoexcept |
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!
|
inlineconstexprnoexcept |
Equality operator.