Made wxList::compatibility_iterator a class in wxUSE_STL == 0 case too instead

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
This commit is contained in:
Vadim Zeitlin
2006-03-21 14:05:11 +00:00
parent 06840f1796
commit 0cc70962a1
3 changed files with 18 additions and 4 deletions

View File

@@ -680,7 +680,17 @@ private:
{ \
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) \
{ } \

View File

@@ -274,8 +274,10 @@ bool wxHtmlWindow::DoSetPage(const wxString& source)
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

View File

@@ -567,7 +567,9 @@ bool wxRichTextParagraphLayoutBox::Layout(wxDC& dc, const wxRect& rect, int styl
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);