X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe1b98f5d55ae9d518b59072c38bd73955c2555d..3b49331b7441e091fc5997b830801d76a1243f28:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index 8178d100d9..b70306b886 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -380,8 +380,9 @@ protected: #if wxUSE_UNICODE_UTF8 // see the comment near wxString::iterator for why we need this -struct WXDLLIMPEXP_BASE wxStringIteratorNode +class WXDLLIMPEXP_BASE wxStringIteratorNode { +public: wxStringIteratorNode() : m_str(NULL), m_citer(NULL), m_iter(NULL), m_prev(NULL), m_next(NULL) {} wxStringIteratorNode(const wxString *str, @@ -2766,7 +2767,7 @@ private: #endif // !wxUSE_STL_BASED_WXSTRING template -class wxStringTypeBufferBase +class WXDLLIMPEXP_BASE wxStringTypeBufferBase { public: typedef T CharType; @@ -2784,7 +2785,7 @@ protected: }; template -class wxStringTypeBufferLengthBase +class WXDLLIMPEXP_BASE wxStringTypeBufferLengthBase { public: typedef T CharType; @@ -2834,6 +2835,9 @@ public: }; #if wxUSE_STL_BASED_WXSTRING + +WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( wxStringTypeBufferBase ) + class wxStringInternalBuffer : public wxStringTypeBufferBase { public: @@ -2845,7 +2849,11 @@ public: DECLARE_NO_COPY_CLASS(wxStringInternalBuffer) }; -class wxStringInternalBufferLength : public wxStringTypeBufferLengthBase +WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( + wxStringTypeBufferLengthBase ) + +class wxStringInternalBufferLength + : public wxStringTypeBufferLengthBase { public: wxStringInternalBufferLength(wxString& str, size_t lenWanted = 1024) @@ -2874,6 +2882,9 @@ typedef wxStringInternalBufferLength wxStringBufferLength; typedef wxStringInternalBuffer wxUTF8StringBuffer; typedef wxStringInternalBufferLength wxUTF8StringBufferLength; #elif wxUSE_UNICODE_WCHAR + +WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( wxStringTypeBufferBase ) + class WXDLLIMPEXP_BASE wxUTF8StringBuffer : public wxStringTypeBufferBase { public: @@ -2884,6 +2895,8 @@ public: DECLARE_NO_COPY_CLASS(wxUTF8StringBuffer) }; +WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( wxStringTypeBufferLengthBase ) + class WXDLLIMPEXP_BASE wxUTF8StringBufferLength : public wxStringTypeBufferLengthBase { @@ -3019,7 +3032,15 @@ WXDLLIMPEXP_BASE wxSTD ostream& operator<<(wxSTD ostream&, const wxCharBuffer&); WXDLLIMPEXP_BASE wxSTD ostream& operator<<(wxSTD ostream&, const wxWCharBuffer&); #endif -#endif // wxSTD_STRING_COMPATIBILITY +#if wxUSE_UNICODE && defined(HAVE_WOSTREAM) + +WXDLLIMPEXP_BASE wxSTD wostream& operator<<(wxSTD wostream&, const wxString&); +WXDLLIMPEXP_BASE wxSTD wostream& operator<<(wxSTD wostream&, const wxCStrData&); +WXDLLIMPEXP_BASE wxSTD wostream& operator<<(wxSTD wostream&, const wxWCharBuffer&); + +#endif // wxUSE_UNICODE && defined(HAVE_WOSTREAM) + +#endif // wxUSE_STD_IOSTREAM // --------------------------------------------------------------------------- // wxCStrData implementation