X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90e572f1e5af1e51fd14e2e1e6f64fa3e258e590..48e5284db6d6f1dab46a81a4ae0d0438ea37bd6e:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index 01f053d807..ac55f5c5f9 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -934,16 +934,19 @@ public: { *this = str + *this; return *this; } // non-destructive concatenation - // - friend wxString WXDLLIMPEXP_BASE operator+(const wxString& string1, const wxString& string2); - // + // two strings + friend wxString WXDLLIMPEXP_BASE operator+(const wxString& string1, + const wxString& string2); + // string with a single char friend wxString WXDLLIMPEXP_BASE operator+(const wxString& string, wxChar ch); - // + // char with a string friend wxString WXDLLIMPEXP_BASE operator+(wxChar ch, const wxString& string); - // - friend wxString WXDLLIMPEXP_BASE operator+(const wxString& string, const wxChar *psz); - // - friend wxString WXDLLIMPEXP_BASE operator+(const wxChar *psz, const wxString& string); + // string with C string + friend wxString WXDLLIMPEXP_BASE operator+(const wxString& string, + const wxChar *psz); + // C string with string + friend wxString WXDLLIMPEXP_BASE operator+(const wxChar *psz, + const wxString& string); // stream-like functions // insert an int into string @@ -1292,16 +1295,16 @@ 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__ +// notice that even though for many compilers the friend declarations above are +// enough, from the point of view of C++ standard we must have the declarations +// here as friend ones are not injected in the enclosing namespace and without +// them the code fails to compile with conforming compilers such as xlC or g++4 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