From 2368c361e32e29906f938bb41a5b2ede80316310 Mon Sep 17 00:00:00 2001 From: ykiko <486685280@qq.com> Date: Sun, 18 Feb 2024 22:52:00 +0800 Subject: [PATCH] add clear and destructor --- include/pocketpy/vector.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/pocketpy/vector.h b/include/pocketpy/vector.h index e1aeda58..d2839104 100644 --- a/include/pocketpy/vector.h +++ b/include/pocketpy/vector.h @@ -362,6 +362,13 @@ namespace pkpy { return *this; } + ~small_vector() { + std::destroy_n(data(), m_size); + if (!is_small()) { + std::free(m_internal.begin); + } + } + template void emplace_back(Args &&...args) noexcept { if (m_size == m_capacity) { auto new_capacity = m_capacity * 2; @@ -396,5 +403,10 @@ namespace pkpy { (data() + m_size)->~T(); } } + + void clear() { + std::destroy_n(data(), m_size); + m_size = 0; + } }; } // namespace pkpy \ No newline at end of file