PIP 5.9.0
Platform-Independent Primitives
Загрузка...
Поиск...
Не найдено
Класс PITransitionTimeout

Переход, который автоматически срабатывает по истечении таймаута. Подробнее...

#include <pistatemachine_transition.h>

Граф наследования:PITransitionTimeout:

Открытые члены

 PITransitionTimeout (PIStateBase *source, PIStateBase *target, PISystemTime timeout)
 Создает переход, который срабатывает через timeout, пока исходное состояние активно.
 ~PITransitionTimeout ()
 Останавливает внутренний таймер и уничтожает переход.
Открытые члены унаследованные от PITransitionBase
 PITransitionBase (PIStateBase *source, PIStateBase *target, int event_id)
 Создает переход из source в target для указанного идентификатора события.
virtual ~PITransitionBase ()
 Уничтожает переход и сохраненную guard-функцию.
PIStateMachine * machine () const
 Возвращает корневую машину состояний.
PIStateBase * source () const
 Возвращает исходное состояние.
PIStateBase * target () const
 Возвращает целевое состояние.
template<typename R, typename... Args>
PITransitionBase * addGuard (std::function< R(Args...)> f)
 Задает guard-функцию, которая должна возвращать bool.
template<typename L>
PITransitionBase * addGuard (L f)
 Задает guard-функцию из lambda или другого вызываемого объекта.
template<typename... Args>
bool testGuard (Args... args)
 Проверяет guard-функцию на аргументах события, переданных переходу.
PITransitionBase * addAction (std::function< void()> a)
 Задает действие, выполняемое при срабатывании перехода.
void makeAction ()
 Выполняет действие перехода, если оно задано.
void trigger ()
 Запускает переход и обновляет активные состояния.

Подробное описание

Переход, который автоматически срабатывает по истечении таймаута.