aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic
diff options
context:
space:
mode:
authorswarmer <swarmer@yandex-team.com>2024-05-09 17:44:38 +0300
committerswarmer <swarmer@yandex-team.com>2024-05-09 17:53:31 +0300
commit366769a4e115176e246a36a171d0aed170e7440e (patch)
tree28a3f7792d092658f247705a9ce6323e4af9a3cb /util/generic
parentc44a772f40e65a5de6f05eaf8acaa7afcdfd4379 (diff)
downloadydb-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.h12
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) {