typedef ptr_type pointer; \
typedef int difference_type; \
\
+ iterator_name() : m_ptr(NULL) { } \
iterator_name(pointer ptr) : m_ptr(ptr) { } \
\
reference operator*() const { return *m_ptr; } \
/* for wxStringImpl use only */ \
operator pointer() const { return m_ptr; } \
\
- friend class WXDLLIMPEXP_BASE wxStringImpl; \
+ friend class wxStringImpl; \
\
pointer m_ptr
// 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_FWD_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) { }
void DoUngetWriteBuf();
void DoUngetWriteBuf(size_t nLen);
- friend class WXDLLIMPEXP_BASE wxString;
+ friend class WXDLLIMPEXP_FWD_BASE wxString;
};
#endif // !wxUSE_STL_BASED_WXSTRING