Make wxClassInfo attributes private. Replace

direct access to sm_classTable with a (const) iterator
interface.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2007-04-15 11:43:37 +00:00
parent a4a44612a6
commit 644cb5372c
10 changed files with 109 additions and 45 deletions

View File

@@ -288,6 +288,37 @@ wxObject *wxCreateDynamicObject(const wxChar *name)
}
}
// iterator interface
wxClassInfo::const_iterator::value_type
wxClassInfo::const_iterator::operator*() const
{
return (wxClassInfo*)m_node->GetData();
}
wxClassInfo::const_iterator& wxClassInfo::const_iterator::operator++()
{
m_node = m_table->Next();
return *this;
}
const wxClassInfo::const_iterator wxClassInfo::const_iterator::operator++(int)
{
wxClassInfo::const_iterator tmp = *this;
m_node = m_table->Next();
return tmp;
}
wxClassInfo::const_iterator wxClassInfo::begin_classinfo()
{
sm_classTable->BeginFind();
return const_iterator(sm_classTable->Next(), sm_classTable);
}
wxClassInfo::const_iterator wxClassInfo::end_classinfo()
{
return const_iterator(NULL, NULL);
}
// ----------------------------------------------------------------------------
// wxObjectRefData