bool m_owned;
};
-class WXDLLIMPEXP_BASE wxCharBuffer : public wxCharTypeBuffer<char>
+class wxCharBuffer : public wxCharTypeBuffer<char>
{
public:
typedef wxCharTypeBuffer<char> wxCharTypeBufferBase;
};
#if wxUSE_WCHAR_T
-class WXDLLIMPEXP_BASE wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
+class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
{
public:
typedef wxCharTypeBuffer<wchar_t> wxCharTypeBufferBase;
private: \
underlying_iterator m_cur
- class const_iterator;
+ class WXDLLIMPEXP_BASE const_iterator;
#if wxUSE_UNICODE_UTF8
// NB: In UTF-8 build, (non-const) iterator needs to keep reference
// string and traversing it in wxUniCharRef::operator=(). Head of the
// list is stored in wxString. (FIXME-UTF8)
- class iterator
+ class WXDLLIMPEXP_BASE iterator
{
WX_STR_ITERATOR_IMPL(iterator, wxChar*, wxUniCharRef);
friend class const_iterator;
};
- class const_iterator
+ class WXDLLIMPEXP_BASE const_iterator
{
// NB: reference_type is intentionally value, not reference, the character
// may be encoded differently in wxString data:
#else // !wxUSE_UNICODE_UTF8
- class iterator
+ class WXDLLIMPEXP_BASE iterator
{
WX_STR_ITERATOR_IMPL(iterator, wxChar*, wxUniCharRef);
friend class const_iterator;
};
- class const_iterator
+ class WXDLLIMPEXP_BASE const_iterator
{
// NB: reference_type is intentionally value, not reference, the character
// may be encoded differently in wxString data:
private:
wxStringImpl m_impl;
+#ifdef __VISUALC__
+ // "struct 'ConvertedBuffer<T>' needs to have dll-interface to be used by
+ // clients of class 'wxString'" - this is private, we don't care
+ #pragma warning (disable:4251)
+#endif
+
// buffers for compatibility conversion from (char*)c_str() and
// (wchar_t*)c_str():
// FIXME-UTF8: bechmark various approaches to keeping compatibility buffers
ConvertedBuffer<wchar_t> m_convertedToWChar;
#endif
+#ifdef __VISUALC__
+ #pragma warning (default:4251)
+#endif
+
#if wxUSE_UNICODE_UTF8
// FIXME-UTF8: (try to) move this elsewhere (TLS) or solve differently
// assigning to character pointer to by wxString::interator may
// we need to declare const_iterator in wxStringImpl scope, the friend
// declaration inside iterator class itself is not enough, or at least not
// for g++ 3.4 (g++ 4 is ok)
- class const_iterator;
+ class WXDLLIMPEXP_BASE const_iterator;
- class iterator
+ class WXDLLIMPEXP_BASE iterator
{
WX_DEFINE_STRINGIMPL_ITERATOR(iterator,
wxStringCharType&,
friend class const_iterator;
};
- class const_iterator
+ class WXDLLIMPEXP_BASE const_iterator
{
public:
const_iterator(iterator i) : m_ptr(i.m_ptr) { }
#endif // wxUSE_UNICODE && !wxUSE_UTF8_LOCALE_ONLY
private:
+#ifdef __VISUALC__
+ // "struct 'ConvertedBuffer<T>' needs to have dll-interface to be used by
+ // clients of class 'wxString'" - this is private, we don't care
+ #pragma warning (disable:4251)
+#endif
wxCharBuffer m_char;
wxWCharBuffer m_wchar;
+#ifdef __VISUALC__
+ #pragma warning (default:4251)
+#endif
+
// NB: we can use a pointer here, because wxFormatString is only used
// as function argument, so it has shorter life than the string
// passed to the ctor