[PATCH v1] libcamera: base: span: Explicitly default copy assignment

Barnabás Pőcze barnabas.pocze at ideasonboard.com
Mon Mar 10 18:03:56 CET 2025


The `dynamic_extent` specialization is currently not trivially copyable
unlike its standard counterpart, `std::span`. This is because the copy
assignment operator is user-defined. Explicitly default it just like
it is done in the main template definition.

Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
---
 include/libcamera/base/span.h | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/include/libcamera/base/span.h b/include/libcamera/base/span.h
index 92cce4f05..806db106e 100644
--- a/include/libcamera/base/span.h
+++ b/include/libcamera/base/span.h
@@ -346,13 +346,7 @@ public:
 	}
 
 	constexpr Span(const Span &other) noexcept = default;
-
-	constexpr Span &operator=(const Span &other) noexcept
-	{
-		data_ = other.data_;
-		size_ = other.size_;
-		return *this;
-	}
+	constexpr Span &operator=(const Span &other) noexcept = default;
 
 	constexpr iterator begin() const { return data(); }
 	constexpr const_iterator cbegin() const { return begin(); }
-- 
2.48.1



More information about the libcamera-devel mailing list