17 using Guard = std::function<bool()>;
24 template<
typename Func>
27 QAbstractState* target,
30 , _guard(std::move(
guard))
32 setTargetState(target);
39 template<
typename Func>
44 , _guard(std::move(
guard))
A transition that only fires if a guard predicate returns true.
GuardedTransition(const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, QAbstractState *target, Guard guard)
std::function< bool()> Guard
bool eventTest(QEvent *event) override
Override to check guard before allowing transition.
void setGuard(Guard guard)
Set the guard predicate.
Guard guard() const
Get the current guard predicate.
GuardedTransition(const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, Guard guard)
Base class for signal-based transitions that need access to QGCStateMachine and Vehicle.