11 #include <type_traits> 20 template<QEvent::Type Type,
typename F>
25 using EventType_t = std::remove_pointer_t<std::decay_t<ArgType_t<F, 0>>>;
29 , F_ { std::move (
f) }
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>
bool eventFilter(QObject *, QEvent *srcEv) override
LambdaEventFilter(F &&f, QObject &parent)
constexpr detail::ExprTree< detail::ExprType::LeafStaticPlaceholder, detail::MemberPtrs< Ptr > > f
Type
Describes the various types of XDG .desktop files.
requires(Tup1Size==Tup2Size) const expr auto ZipWith(Tup1 &&tup1
auto MakeLambdaEventFilter(F &&f, QObject &parent)