diff --git a/src/utils/SubArray.hpp b/src/utils/SubArray.hpp index 2ab94694febea144c527402848302d6bca7cd38b..5b79bf44c0c52581b697c4d3917d3c3ff27f16a4 100644 --- a/src/utils/SubArray.hpp +++ b/src/utils/SubArray.hpp @@ -75,12 +75,10 @@ class [[nodiscard]] SubArray : m_array{array}, m_sub_values{&array[0] + begin}, m_size{size} { Assert(begin + size <= array.size(), "SubView is not contained in the source Array"); - static_assert(not std::is_const<DataType>(), "Cannot allocate SubArray of const data: only view is " - "supported"); } PUGS_INLINE - SubArray() = default; + SubArray() = delete; PUGS_INLINE SubArray(const SubArray&) = default; diff --git a/tests/test_SubArray.cpp b/tests/test_SubArray.cpp index 98e303dd1681378a50fdb281ab65bb83273a50e2..647dc259e4184680ab703f2f334796904a2ecc77 100644 --- a/tests/test_SubArray.cpp +++ b/tests/test_SubArray.cpp @@ -54,7 +54,7 @@ TEST_CASE("SubArray", "[utils]") SECTION("sub array copy") { a.fill(0); - SubArray<int> sub_a; + SubArray<int> sub_a{a, 2, 1}; sub_a = SubArray{a, 5, 5}; for (size_t i = 0; i < sub_a.size(); ++i) { sub_a[i] = i + 1; @@ -95,7 +95,7 @@ TEST_CASE("SubArray", "[utils]") SECTION("errors") { a.fill(0); - SubArray<int> sub_a; + SubArray<int> sub_a{a, 0, 0}; sub_a = SubArray{a, 5, 5}; for (size_t i = 0; i < sub_a.size(); ++i) { sub_a[i] = i + 1;