@ -1155,7 +1155,7 @@ public:
inline int _grow_capacity ( int sz ) const { int new_capacity = Capacity ? ( Capacity + Capacity / 2 ) : 8 ; return new_capacity > sz ? new_capacity : sz ; }
inline void resize ( int new_size ) { if ( new_size > Capacity ) reserve ( _grow_capacity ( new_size ) ) ; Size = new_size ; }
inline void resize ( int new_size , const value_type & v ) { if ( new_size > Capacity ) reserve ( _grow_capacity ( new_size ) ) ; if ( new_size > Size ) for ( int n = Size ; n < new_size ; n + + ) Data [ n ] = v ; Size = new_size ; }
inline void resize ( int new_size , const value_type & v ) { if ( new_size > Capacity ) reserve ( _grow_capacity ( new_size ) ) ; if ( new_size > Size ) for ( int n = Size ; n < new_size ; n + + ) memcpy ( & Data [ n ] , & v , sizeof ( v ) ) ; Size = new_size ; }
inline void reserve ( int new_capacity )
{
if ( new_capacity < = Capacity )
@ -1169,7 +1169,7 @@ public:
}
// NB: &v cannot be pointing inside the ImVector Data itself! e.g. v.push_back(v[10]) is forbidden.
inline void push_back ( const value_type & v ) { if ( Size = = Capacity ) reserve ( _grow_capacity ( Size + 1 ) ) ; Data [ Size + + ] = v ; }
inline void push_back ( const value_type & v ) { if ( Size = = Capacity ) reserve ( _grow_capacity ( Size + 1 ) ) ; memcpy ( & Data [ Size ] , & v , sizeof ( v ) ) ; Size + + ; }
inline void pop_back ( ) { IM_ASSERT ( Size > 0 ) ; Size - - ; }
inline void push_front ( const value_type & v ) { if ( Size = = 0 ) push_back ( v ) ; else insert ( Data , v ) ; }
inline iterator erase ( const_iterator it ) { IM_ASSERT ( it > = Data & & it < Data + Size ) ; const ptrdiff_t off = it - Data ; memmove ( Data + off , Data + off + 1 , ( ( size_t ) Size - ( size_t ) off - 1 ) * sizeof ( value_type ) ) ; Size - - ; return Data + off ; }