aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/kstd/include/kstd/vector13
1 files changed, 8 insertions, 5 deletions
diff --git a/libs/kstd/include/kstd/vector b/libs/kstd/include/kstd/vector
index a49572b..b2cce0b 100644
--- a/libs/kstd/include/kstd/vector
+++ b/libs/kstd/include/kstd/vector
@@ -50,7 +50,7 @@ namespace kstd
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
//! Construct a new, empty vector.
- vector() noexcept(std::is_nothrow_default_constructible_v<allocator_type>)
+ constexpr vector() noexcept(std::is_nothrow_default_constructible_v<allocator_type>)
: vector(allocator_type{})
{}
@@ -697,10 +697,13 @@ namespace kstd
//! Release the memory of this vector.
constexpr auto deallocate()
{
- std::allocator_traits<allocator_type>::deallocate(m_allocator, m_data, m_capacity);
- m_capacity = 0;
- m_size = 0;
- m_data = nullptr;
+ if (m_data)
+ {
+ std::allocator_traits<allocator_type>::deallocate(m_allocator, m_data, m_capacity);
+ m_capacity = 0;
+ m_size = 0;
+ m_data = nullptr;
+ }
}
//! Destroy a number of elements in this vector.