From: Václav Slavík Date: Sun, 13 May 2007 00:17:32 +0000 (+0000) Subject: compilation fix for STL implementations that use (const) char* for std::string iterators X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/bfb6847df68d5d048749a83d04f1fda0188ab9d2 compilation fix for STL implementations that use (const) char* for std::string iterators git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/string.h b/include/wx/string.h index c2a60e233d..bf297f6a9a 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -2863,13 +2863,20 @@ inline const wchar_t* wxCStrData::AsWChar() const } #endif // wxUSE_UNICODE_WCHAR -#if !wxUSE_UNICODE || wxUSE_UTF8_LOCALE_ONLY +#if !wxUSE_UNICODE inline const char* wxCStrData::AsChar() const { - return wxStringOperations::AddToIter(m_str->wx_str(), m_offset); + return m_str->wx_str() + m_offset; } #endif // !wxUSE_UNICODE +#if wxUSE_UTF8_LOCALE_ONLY +inline const char* wxCStrData::AsChar() const +{ + return wxStringOperations::AddToIter(m_str->wx_str(), m_offset); +} +#endif // wxUSE_UTF8_LOCALE_ONLY + inline const wxCharBuffer wxCStrData::AsCharBuf() const { #if !wxUSE_UNICODE @@ -2898,7 +2905,11 @@ inline wxString wxCStrData::AsString() const inline const wxStringCharType *wxCStrData::AsInternal() const { +#if wxUSE_UNICODE_UTF8 return wxStringOperations::AddToIter(m_str->wx_str(), m_offset); +#else + return m_str->wx_str() + m_offset; +#endif } inline wxUniChar wxCStrData::operator*() const diff --git a/include/wx/stringops.h b/include/wx/stringops.h index ed53532d9e..f3046794be 100644 --- a/include/wx/stringops.h +++ b/include/wx/stringops.h @@ -40,8 +40,6 @@ struct WXDLLIMPEXP_BASE wxStringOperationsWchar { return i + n; } static wxStringImpl::const_iterator AddToIter(const wxStringImpl::const_iterator& i, int n) { return i + n; } - static const wxChar* AddToIter(const wxChar *i, int n) - { return i + n; } // returns distance of the two iterators in Unicode characters static int DiffIters(const wxStringImpl::iterator& i1,