of a simple typedef to "Node *" to be able to initialize it with NULL in ctor
which makes the behaviour of the code with and without wxUSE_STL the same.
The price to pay is that the code like
wxList:compatibility_iterator ci;
ci = cond ? list->GetFirst() : wxList::compatibility_iterator();
doesn't compile any more and has to be replaced with (more clear anyhow)
wxList:compatibility_iterator ci;
if ( cond )
ci = list->GetFirst();
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38247
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
{ \
public: \
typedef nodetype Node; \
- typedef Node* compatibility_iterator; \
+ class compatibility_iterator \
+ { \
+ public: \
+ compatibility_iterator(Node *ptr = NULL) : m_ptr(ptr) { } \
+ \
+ Node *operator->() const { return m_ptr; } \
+ operator Node *() const { return m_ptr; } \
+ \
+ private: \
+ Node *m_ptr; \
+ }; \
\
name(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) \
{ } \
wxHtmlProcessorList::compatibility_iterator nodeL, nodeG;
int prL, prG;
- nodeL = (m_Processors) ? m_Processors->GetFirst() : wxHtmlProcessorList::compatibility_iterator();
- nodeG = (m_GlobalProcessors) ? m_GlobalProcessors->GetFirst() : wxHtmlProcessorList::compatibility_iterator();
+ if ( m_Processors )
+ nodeL = m_Processors->GetFirst();
+ if ( m_GlobalProcessors )
+ nodeG = m_GlobalProcessors->GetFirst();
// VS: there are two lists, global and local, both of them sorted by
// priority. Since we have to go through _both_ lists with
if (firstParagraph)
{
wxRichTextObjectList::compatibility_iterator firstNode = m_children.Find(firstParagraph);
- wxRichTextObjectList::compatibility_iterator previousNode = firstNode ? firstNode->GetPrevious() : wxRichTextObjectList::compatibility_iterator();
+ wxRichTextObjectList::compatibility_iterator previousNode;
+ if ( firstNode )
+ previousNode = firstNode->GetPrevious();
if (firstNode && previousNode)
{
wxRichTextParagraph* previousParagraph = wxDynamicCast(previousNode->GetData(), wxRichTextParagraph);