40 template<
typename F,
typename R>
46 template<
typename C,
typename R,
typename F>
49 template<
typename C,
typename R,
typename F>
63 using EventType_t =
typename std::remove_pointer<ArgType_t<F>>::type;
67 , F_ { std::move (f) }
73 const auto ev =
dynamic_cast<EventType_t*
> (srcEv);
decltype(TypeGetter(*static_cast< F * >(nullptr))) ArgType_t
auto MakeLambdaEventFilter(F &&f, QObject *parent=nullptr)
bool eventFilter(QObject *, QEvent *srcEv) override
LambdaEventFilter(F &&f, QObject *parent=nullptr)
decltype(TypeGetter(&C::operator())) TypeGetter(const C &c)