diff --git a/TinySTL/Detail/Vector.impl.h b/TinySTL/Detail/Vector.impl.h index d2cb2e8..186d421 100644 --- a/TinySTL/Detail/Vector.impl.h +++ b/TinySTL/Detail/Vector.impl.h @@ -226,7 +226,12 @@ namespace TinySTL{ } template void vector::shrink_to_fit(){ - dataAllocator::deallocate(finish_, endOfStorage_ - finish_); + //dataAllocator::deallocate(finish_, endOfStorage_ - finish_); + //endOfStorage_ = finish_; + T* t = (T*)dataAllocator::allocate(size()); + finish_ = TinySTL::uninitialized_copy(start_, finish_, t); + dataAllocator::deallocate(start_, capacity()); + start_ = t; endOfStorage_ = finish_; } template