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

Paul Elder paul.elder at ideasonboard.com
Wed Feb 26 06:56:10 CET 2025


On Wed, Feb 26, 2025 at 02:55:41AM +0200, Laurent Pinchart wrote:
> The libcamera public API requires C++17, ddddrop support for older

ddddrop :)

> standards.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder 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