Don't allow indexing util::array with wrong number of indices

This commit is contained in:
Nikita Lisitsa 2022-06-20 17:32:50 +03:00
parent 70f3b68077
commit 05608cc17c

View file

@ -345,6 +345,7 @@ namespace psemek::util
std::enable_if_t<detail::is_index_v<Ixs...>, T &>
array<T, N>::operator()(Ixs ... ixs)
{
static_assert(sizeof...(Ixs) == N);
dims_type dims{static_cast<std::size_t>(ixs)...};
return (*this)(dims);
}
@ -354,6 +355,7 @@ namespace psemek::util
std::enable_if_t<detail::is_index_v<Ixs...>, T const &>
array<T, N>::operator()(Ixs ... ixs) const
{
static_assert(sizeof...(Ixs) == N);
dims_type dims{static_cast<std::size_t>(ixs)...};
return (*this)(dims);
}