![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Реализация состояния, которая перенаправляет виртуальные методы входа и выхода в callback-функции. Подробнее...
#include <pistatemachine_state.h>
Открытые члены | |
| PIStateLambda (std::function< void()> on_enter, std::function< void()> on_exit=nullptr, const PIString &n={}) | |
| Создает состояние с callback-функциями входа и выхода. | |
| void | onEnter () override |
| Выполняет callback-функцию входа. | |
| void | onExit () override |
| Выполняет callback-функцию выхода. | |
Открытые члены унаследованные от PIStateBase | |
| PIStateBase (const PIString &n={}) | |
| Создает состояние с необязательным именем для диагностики. | |
| virtual | ~PIStateBase () |
| Уничтожает состояние вместе с принадлежащими дочерними состояниями и переходами. | |
| virtual void | onEnter () |
| Вызывается при активации состояния. | |
| virtual void | onExit () |
| Вызывается при деактивации состояния. | |
| virtual void | onFinish () |
| Вызывается, когда финальное дочернее состояние завершает это состояние. | |
| PIStateMachine * | machine () const |
| Возвращает корневую машину состояний. | |
| PIStateBase * | parent () const |
| Возвращает родительское состояние. | |
| PIStateBase * | activeChild () const |
| Возвращает активное дочернее состояние непараллельного составного состояния. | |
| PIVector< PIStateBase * > | activeChildren () const |
| Возвращает активные дочерние состояния. | |
| PIVector< PIStateBase * > | activeAtomics () const |
| Возвращает активные атомарные листовые состояния под этим состоянием. | |
| void | addState (PIStateBase *s) |
| Добавляет дочернее состояние, которым владеет это состояние. | |
| void | addStates (PIVector< PIStateBase * > s) |
| Добавляет несколько дочерних состояний, которыми владеет это состояние. | |
| void | setInitialState (PIStateBase *s) |
| Задает начальное дочернее состояние для непараллельного составного состояния. | |
| PITransitionBase * | addTransition (PIStateBase *target, int event_id) |
| Добавляет переход по событию из этого состояния в target. | |
| PITransitionTimeout * | addTimeoutTransition (PIStateBase *target, PISystemTime timeout) |
| Добавляет переход по таймауту, который срабатывает пока это состояние активно. | |
| void | setParallel (bool yes) |
| Включает или выключает параллельную активацию дочерних состояний. | |
| const PIString & | getName () const |
| Возвращает имя состояния. | |
| bool | isStateMachine () const |
| Возвращает true для корневого объекта машины состояний. | |
| bool | isActive () const |
| Возвращает true, если состояние сейчас активно. | |
| bool | isParallel () const |
| Возвращает true, если дочерние состояния активируются параллельно. | |
| bool | isFinal () const |
| Возвращает true, если состояние помечено как финальное. | |
| bool | isAtomic () const |
| Возвращает true, если у состояния нет дочерних состояний. | |
| bool | isCompound () const |
| Возвращает true, если состояние содержит дочерние состояния. | |
| const PIVector< PIStateBase * > & | getChildren () const |
| Возвращает прямые дочерние состояния. | |
| const PIVector< PITransitionBase * > & | getTransitions () const |
| Возвращает исходящие переходы, принадлежащие этому состоянию. | |
| void | print (PIString prefix={}) |
| Печатает дерево состояний и активные ветви в piCout. | |
| PIVector< PIStateBase * > | gatherStates () |
| Возвращает это состояние и все дочерние состояния. | |
Дополнительные унаследованные члены | |
Относящиеся к классу функции унаследованные от PIStateBase | |
| PICout | operator<< (PICout c, PIStateBase *s) |
| Записывает текстовое представление состояния в PICout. | |
Реализация состояния, которая перенаправляет виртуальные методы входа и выхода в callback-функции.