[RFC,v2,7/7] libcamera: base: span: Deprecate it
diff mbox series

Message ID 20260323102724.1385487-8-barnabas.pocze@ideasonboard.com
State New
Headers show
Series
  • C++20 migration
Related show

Commit Message

Barnabás Pőcze March 23, 2026, 10:27 a.m. UTC
With the switch to C++20, this type has largely become unnecessary,
but since users might still depend on it, do not remove it yet, only
deprecate it. The tests are also kept for now.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
 include/libcamera/base/span.h | 4 ++--
 test/span.cpp                 | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

Patch
diff mbox series

diff --git a/include/libcamera/base/span.h b/include/libcamera/base/span.h
index 5c7a98d8e..c8da7cfd1 100644
--- a/include/libcamera/base/span.h
+++ b/include/libcamera/base/span.h
@@ -86,7 +86,7 @@  struct tuple_size<Span<T, dynamic_extent>>;
 } /* namespace utils */
 
 template<typename T, std::size_t Extent>
-class Span
+class [[deprecated("Use `std::span` instead")]] Span
 {
 public:
 	using element_type = T;
@@ -256,7 +256,7 @@  private:
 };
 
 template<typename T>
-class Span<T, dynamic_extent>
+class [[deprecated("Use `std::span` instead")]] Span<T, dynamic_extent>
 {
 public:
 	using element_type = T;
diff --git a/test/span.cpp b/test/span.cpp
index 4b9f3279a..56b29512f 100644
--- a/test/span.cpp
+++ b/test/span.cpp
@@ -9,6 +9,7 @@ 
  * Include first to ensure the header is self-contained, as there's no span.cpp
  * in libcamera.
  */
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #include <libcamera/base/span.h>
 
 #include <array>