dummy(); \
}; \
protected: \
- iterator find( elT e ) \
+ iterator find( const elT e ) \
{ \
iterator it, en; \
for( it = begin(), en = end(); it != en; ++it ) \
return it; \
} \
public: \
- liT() {}; \
+ liT() {} \
\
citer Append( elT e ) { push_back( e ); return GetLast(); } \
void Clear() { clear(); } \
{ \
erase( it.m_iter ); \
} \
- citer Find( elT e ) const { return citer( this, ((liT*)this)->find( e ) ); } \
+ citer Find( const elT e ) const { return citer( this, ((liT*)this)->find( e ) ); } \
citer Member( elT e ) const { return Find( e ); } \
citer Insert( elT e ) \
{ push_front( e ); return citer( this, begin() ); } \
// due to circular header dependencies this function has to be declared here
// (normally it's found in utils.h which includes itself list.h...)
+#if WXWIN_COMPATIBILITY_2_4
extern WXDLLIMPEXP_BASE wxChar* copystring(const wxChar *s);
+#endif
class WXDLLEXPORT wxObjectListNode;
typedef wxObjectListNode wxNode;
// a double-linked list class
// -----------------------------------------------------------------------------
-class wxList;
+class WXDLLIMPEXP_BASE wxList;
class WXDLLIMPEXP_BASE wxListBase : public wxObject
{
// search (all return NULL if item not found)
// by data
- wxNodeBase *Find(void *object) const;
+ wxNodeBase *Find(const void *object) const;
// by key
wxNodeBase *Find(const wxListKey& key) const;
void Erase(compatibility_iterator it) \
{ DeleteNode(it); } \
\
- nodetype *Find(Tbase *object) const \
+ nodetype *Find(const Tbase *object) const \
{ return (nodetype *)wxListBase::Find(object); } \
\
virtual nodetype *Find(const wxListKey& key) const \
{ return const_reverse_iterator(NULL, GetFirst()); } \
void resize(size_type n, value_type v = value_type()) \
{ \
- if(n < size()) \
- for(; n < size(); pop_back()); \
- else if(n > size()) \
- for(; n > size(); push_back(v)); \
+ while (n < size()) \
+ pop_back(); \
+ while (n > size()) \
+ push_back(v); \
} \
size_type size() const { return GetCount(); } \
size_type max_size() const { return INT_MAX; } \