X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/47561b0dc572e82f9b01b881a12202b1a8542163..0944fceb987def04dc89d03d58c35793d0ecdfed:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index f55ac3032b..151ca4037a 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -187,6 +187,7 @@ inline int Stricmp(const char *psz1, const char *psz2) // we don't need an extra ctor from std::string when copy ctor already does // the work #undef wxUSE_STD_STRING + #define wxUSE_STD_STRING 0 #if (defined(__GNUG__) && (__GNUG__ < 3)) || \ (defined(_MSC_VER) && (_MSC_VER <= 1200)) @@ -1185,7 +1186,7 @@ public: { return (wxString&)wxStringBase::assign(first, last); } // string comparison -#if !defined(HAVE_STD_STRING_COMPARE) +#if !defined(HAVE_STD_STRING_COMPARE) int compare(const wxStringBase& str) const; // comparison with a substring int compare(size_t nStart, size_t nLen, const wxStringBase& str) const; @@ -1274,6 +1275,17 @@ public: { return (wxString&)wxStringBase::operator+=(ch); } }; +// IBM xlC compiler needs these operators to be declared in global scope, +// although this shouldn't be a problem for the other compilers we prefer to +// only do it for it in stable 2.6 branch +#ifdef __IBMCPP__ +wxString WXDLLIMPEXP_BASE operator+(const wxString& string1, const wxString& string2); +wxString WXDLLIMPEXP_BASE operator+(const wxString& string, wxChar ch); +wxString WXDLLIMPEXP_BASE operator+(wxChar ch, const wxString& string); +wxString WXDLLIMPEXP_BASE operator+(const wxString& string, const wxChar *psz); +wxString WXDLLIMPEXP_BASE operator+(const wxChar *psz, const wxString& string); +#endif // __IBMCPP__ + // define wxArrayString, for compatibility #if WXWIN_COMPATIBILITY_2_4 && !wxUSE_STL #include "wx/arrstr.h" @@ -1463,12 +1475,6 @@ inline bool operator!=(const wxCharBuffer& s1, const wxString& s2) { return (s2.Cmp((const char *)s1) != 0); } #endif // wxUSE_UNICODE/!wxUSE_UNICODE -wxString WXDLLIMPEXP_BASE operator+(const wxString& string1, const wxString& string2); -wxString WXDLLIMPEXP_BASE operator+(const wxString& string, wxChar ch); -wxString WXDLLIMPEXP_BASE operator+(wxChar ch, const wxString& string); -wxString WXDLLIMPEXP_BASE operator+(const wxString& string, const wxChar *psz); -wxString WXDLLIMPEXP_BASE operator+(const wxChar *psz, const wxString& string); - #if wxUSE_UNICODE inline wxString operator+(const wxString& string, const wxWCharBuffer& buf) { return string + (const wchar_t *)buf; }