diff --git a/c_os/user/lib/Span.h b/c_os/user/lib/Span.h index 8c0cd24..bf6bcc2 100644 --- a/c_os/user/lib/Span.h +++ b/c_os/user/lib/Span.h @@ -13,8 +13,8 @@ namespace bse { using iterator = ContinuousIterator; private: - T* ptr; - std::size_t sz = N; + T* const ptr; + const std::size_t sz = N; public: span() = default; @@ -31,14 +31,14 @@ namespace bse { T* operator[](std::size_t i) { if constexpr (N != 0) { - if (i >= N) { return nullptr; } + if (i < 0 || i >= N) { return nullptr; } } return &ptr[i]; } - const T* operator[](std::size_t i) const { + T* operator[](std::size_t i) const { if constexpr (N != 0) { - if (i >= N) { return nullptr; } + if (i < 0 || i >= N) { return nullptr; } } return &ptr[i]; }