From 332d92ffbeb479bd6e97d6d808951cb21e969ac2 Mon Sep 17 00:00:00 2001 From: jeffro256 Date: Sat, 22 Mar 2025 16:49:21 -0500 Subject: [PATCH] epee: span::operator[] allow mut ref from const span Changes the `operator[]` method so we can get mutable references to elements even if the span is `const`. The operator is now also `constexpr`. This behavior matches `std::span`. C++ standard reference: https://en.cppreference.com/w/cpp/container/span/operator_at --- contrib/epee/include/span.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/epee/include/span.h b/contrib/epee/include/span.h index af02d4634..ccc55db53 100644 --- a/contrib/epee/include/span.h +++ b/contrib/epee/include/span.h @@ -109,8 +109,7 @@ namespace epee constexpr std::size_t size() const noexcept { return len; } constexpr std::size_t size_bytes() const noexcept { return size() * sizeof(value_type); } - T &operator[](size_t idx) noexcept { return ptr[idx]; } - const T &operator[](size_t idx) const noexcept { return ptr[idx]; } + constexpr T &operator[](size_t idx) const noexcept { return ptr[idx]; } private: T* ptr;