// increase the size twice, unless we're already too big or unless
// more is requested
- const size_type increment = (m_size > 0)
- ? wxMin(m_size, ALLOC_MAX_SIZE)
- : ALLOC_INITIAL_SIZE;
+ //
+ // NB: casts to size_t are needed to suppress mingw32 warnings about
+ // mixing enums and ints in the same expression
+ const size_type increment = m_size > 0
+ ? wxMin(m_size, (size_type)ALLOC_MAX_SIZE)
+ : (size_type)ALLOC_INITIAL_SIZE;
if ( m_capacity + increment > n )
n = m_capacity + increment;
*(i - count) = *i;
// erase items behind the new end of m_values:
- for ( iterator i = end() - count; i < end(); ++i )
- *i = value_type();
+ for ( iterator j = end() - count; j < end(); ++j )
+ *j = value_type();
m_size -= count;
#endif // WXWIN_COMPATIBILITY_2_8
private:
- static const size_type ALLOC_INITIAL_SIZE = 16;
- static const size_type ALLOC_MAX_SIZE = 4096;
+ // VC6 can't compile static const int members
+ enum { ALLOC_INITIAL_SIZE = 16 };
+ enum { ALLOC_MAX_SIZE = 4096 };
void Copy(const wxVector& vb)
{
#if WXWIN_COMPATIBILITY_2_8
template<typename T>
-typename wxVector<T>::size_type wxVector<T>::erase(size_type n)
+inline typename wxVector<T>::size_type wxVector<T>::erase(size_type n)
{
erase(begin() + n);
return n;