![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Переход между состояниями в PIStateMachine. Подробнее...
#include <pistatemachine_transition.h>
Открытые члены | |
| 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 () |
| Запускает переход и обновляет активные состояния. | |
Переход между состояниями в PIStateMachine.
Переход может запускаться событием или таймаутом. Необязательные guard-функции проверяются на аргументах, переданных в PIStateMachine::postEvent().