libcamera: base: signal: Drop pre-C++17 support

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

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2025-02-25 01:08:12 +02:00
parent bb1d216113
commit 5e6872740d

View file

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