// More conversions needed for other standard functions: uchar is for VC++
// _mbxxx() ones (to which toxxx/isxxx() are mapped when _MBCS is defined)
- // and wint_t is either uint or ushort and it's easier for us to just
- // define both at this stage than have a separate test for what wint_t is
+ // and some wide character functions take wint_t which happens to be the
+ // same as wchar_t for Windows compilers but not for g++ (except for the
+ // special Apple version)
operator unsigned char() const { return (unsigned char)To8bit(m_value); }
- operator unsigned short() const { return m_value; }
- operator unsigned int() const { return m_value; }
+#if defined(__GNUC__) && !defined(__DARWIN__)
+ operator wint_t() const { return m_value; }
+#endif
// We need this operator for the "*p" part of expressions like "for (
// const_iterator p = begin() + nStart; *p; ++p )". In this case,
operator wchar_t() const { return UniChar(); }
operator int() const { return UniChar(); }
operator unsigned char() const { return UniChar(); }
- operator unsigned short() const { return UniChar(); }
- operator unsigned int() const { return UniChar(); }
+#if defined(__GNUC__) && !defined(__DARWIN__)
+ operator wint_t() const { return UniChar(); }
+#endif
// see wxUniChar::operator bool etc. for explanation
operator bool() const { return (bool)UniChar(); }