From b2c9a8747703923585598790ba89ba2a364297f4 Mon Sep 17 00:00:00 2001 From: Yury Melnichek Date: Wed, 18 May 2011 15:23:24 +0200 Subject: [PATCH] Use Swap() in buffer_vector when growing from the static array to the dynamic vector. --- base/buffer_vector.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/base/buffer_vector.hpp b/base/buffer_vector.hpp index 718b32e2ee..d58da28463 100644 --- a/base/buffer_vector.hpp +++ b/base/buffer_vector.hpp @@ -177,8 +177,11 @@ public: private: void SwitchToDynamic() { + ASSERT_NOT_EQUAL(m_size, USE_DYNAMIC, ()); + ASSERT_EQUAL(m_dynamic.size(), 0, ()); + m_dynamic.insert(m_dynamic.end(), m_size, T()); for (size_t i = 0; i < m_size; ++i) - m_dynamic.push_back(m_static[i]); + Swap(m_static[i], m_dynamic[i]); m_size = USE_DYNAMIC; } };