diff options
author | swarmer <swarmer@yandex-team.com> | 2024-05-09 17:44:38 +0300 |
---|---|---|
committer | swarmer <swarmer@yandex-team.com> | 2024-05-09 17:53:31 +0300 |
commit | 366769a4e115176e246a36a171d0aed170e7440e (patch) | |
tree | 28a3f7792d092658f247705a9ce6323e4af9a3cb /util/generic | |
parent | c44a772f40e65a5de6f05eaf8acaa7afcdfd4379 (diff) | |
download | ydb-366769a4e115176e246a36a171d0aed170e7440e.tar.gz |
[util] do not instantiate the vector::resize_uninitialized method for non-POD types
f65acbd8a0dd649475720d2cf487bc63ecb8b284
Diffstat (limited to 'util/generic')
-rw-r--r-- | util/generic/vector.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/util/generic/vector.h b/util/generic/vector.h index cbb50951a5..580fcec7c5 100644 --- a/util/generic/vector.h +++ b/util/generic/vector.h @@ -114,19 +114,15 @@ public: return static_cast<yssize_t>(TBase::size()); } -#if defined(_YNDX_LIBCXX_ENABLE_VECTOR_POD_RESIZE_UNINITIALIZED) && !defined(__CUDACC__) void yresize(size_type newSize) { - if (std::is_standard_layout_v<T> && std::is_trivial_v<T>) { +#if defined(_YNDX_LIBCXX_ENABLE_VECTOR_POD_RESIZE_UNINITIALIZED) && !defined(__CUDACC__) + if constexpr (std::is_standard_layout_v<T> && std::is_trivial_v<T>) { TBase::resize_uninitialized(newSize); - } else { - TBase::resize(newSize); + return; } - } -#else - void yresize(size_type newSize) { +#endif TBase::resize(newSize); } -#endif inline void crop(size_type size) { if (this->size() > size) { |