From 1b075bf40cd58df03210571389c2384a44ca812d Mon Sep 17 00:00:00 2001 From: lisyarus Date: Mon, 23 May 2022 20:25:44 +0300 Subject: [PATCH] Don't resize util::array if size didn't change --- libs/util/include/psemek/util/array.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/util/include/psemek/util/array.hpp b/libs/util/include/psemek/util/array.hpp index a8f3fecd..765bf304 100644 --- a/libs/util/include/psemek/util/array.hpp +++ b/libs/util/include/psemek/util/array.hpp @@ -383,6 +383,9 @@ namespace psemek::util template void array::resize(dims_type const & dims) { + if (dims == dims_) + return; + std::unique_ptr data(new T[detail::product(dims)]); resize_impl(std::move(data), dims); } @@ -390,6 +393,9 @@ namespace psemek::util template void array::resize(dims_type const & dims, T const & value) { + if (dims == dims_) + return; + auto const size = detail::product(dims); std::unique_ptr data(new T[size]); std::fill(data.get(), data.get() + size, value);