[PATCH] libcamera: base: signal: Drop pre-C++17 support

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Feb 26 01:55:41 CET 2025


The libcamera public API requires C++17, ddddrop support for older
standards.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 include/libcamera/base/signal.h | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/include/libcamera/base/signal.h b/include/libcamera/base/signal.h
index bbff1495ac75..ed1d81ea5c98 100644
--- a/include/libcamera/base/signal.h
+++ b/include/libcamera/base/signal.h
@@ -63,11 +63,8 @@ public:

 #ifndef __DOXYGEN__
 	template<typename T, typename Func,
-		 std::enable_if_t<std::is_base_of<Object, T>::value
-#if __cplusplus >= 201703L
-				  && std::is_invocable_v<Func, Args...>
-#endif
-				  > * = nullptr>
+		 std::enable_if_t<std::is_base_of<Object, T>::value &&
+				  std::is_invocable_v<Func, Args...>> * = nullptr>
 	void connect(T *obj, Func func, ConnectionType type = ConnectionTypeAuto)
 	{
 		Object *object = static_cast<Object *>(obj);
@@ -75,11 +72,8 @@ public:
 	}

 	template<typename T, typename Func,
-		 std::enable_if_t<!std::is_base_of<Object, T>::value
-#if __cplusplus >= 201703L
-				  && std::is_invocable_v<Func, Args...>
-#endif
-				  > * = nullptr>
+		 std::enable_if_t<!std::is_base_of<Object, T>::value &&
+				  std::is_invocable_v<Func, Args...>> * = nullptr>
 #else
 	template<typename T, typename Func>
 #endif

base-commit: 33ce463a46c44f874fdbc3e484bee730e7b251a3
--
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list