20 template<QEvent::Type Type,
typename F>
25 using EventType_t = std::remove_pointer_t<std::decay_t<ArgType_t<F, 0>>>;
35 if (Type != QEvent::None && Type !=
srcEv->type ())
38 const auto ev =
dynamic_cast<EventType_t*
> (
srcEv);
42 if constexpr (
requires { F_ (
ev,
static_cast<QObject&
> (*
this)); })
43 return F_ (
ev,
static_cast<QObject&
> (*
this));
50 template<QEvent::Type Type = QEvent::None,
typename F>
LambdaEventFilter(F &&f, QObject &parent)
bool eventFilter(QObject *, QEvent *srcEv) override
Container< T > Filter(const Container< T > &c, F f)
auto MakeLambdaEventFilter(F &&f, QObject &parent)