push_front( e ); \
return compatibility_iterator( this, begin() ); \
} \
- compatibility_iterator Insert( compatibility_iterator & i, elT e ) \
+ compatibility_iterator Insert(const compatibility_iterator & i, elT e)\
{ \
return compatibility_iterator( this, insert( i.m_iter, e ) ); \
} \
virtual void DeleteData() { }
public:
// for wxList::iterator
- void** GetDataPtr() const { return &(wx_const_cast(wxNodeBase*, this)->m_data); }
+ void** GetDataPtr() const { return &(const_cast<wxNodeBase*>(this)->m_data); }
private:
// optional key stuff
wxListKeyValue m_key;
for(size_type i = 0; i < n; ++i) \
Append((const_base_reference)v); \
} \
- iterator insert(const iterator& it, const_reference v = value_type())\
+ iterator insert(const iterator& it, const_reference v) \
{ \
- Insert(it.m_node, (const_base_reference)v); \
+ if ( it == end() ) \
+ Append((const_base_reference)v); \
+ else \
+ Insert(it.m_node, (const_base_reference)v); \
iterator itprev(it); \
return itprev--; \
} \
- void insert(const iterator& it, size_type n, const_reference v = value_type())\
+ void insert(const iterator& it, size_type n, const_reference v) \
{ \
for(size_type i = 0; i < n; ++i) \
Insert(it.m_node, (const_base_reference)v); \
} \
- void insert(const iterator& it, const_iterator first, const const_iterator& last)\
+ void insert(const iterator& it, \
+ const_iterator first, const const_iterator& last) \
{ \
for(; first != last; ++first) \
Insert(it.m_node, (const_base_reference)*first); \