0027838: Foundation Classes - support wchar_t* input within TCollection_AsciiString...
[occt.git] / src / NCollection / NCollection_UtfIterator.hxx
index 1923e14..20ec3d6 100755 (executable)
@@ -88,6 +88,12 @@ public:
     return myPosition == theRight.myPosition;
   }
 
+  //! Return true if Unicode symbol is within valid range.
+  bool IsValid() const
+  {
+    return myCharUtf32 <= UTF32_MAX_LEGAL;
+  }
+
   //! Dereference operator.
   //! @return the UTF-32 codepoint of the character currently pointed by iterator.
   Standard_Utf32Char operator*() const
@@ -121,6 +127,12 @@ public:
   //! 4 bytes for surrogate pair.
   Standard_Integer AdvanceBytesUtf16() const;
 
+  //! @return the advance in bytes to store current symbol in UTF-16.
+  //! 0 means an invalid symbol;
+  //! 1 16-bit code unit is a general case;
+  //! 2 16-bit code units for surrogate pair.
+  Standard_Integer AdvanceCodeUnitsUtf16() const;
+
   //! @return the advance in bytes to store current symbol in UTF-32.
   //! Always 4 bytes (method for consistency).
   Standard_Integer AdvanceBytesUtf32() const