StateTransitionRule.ixx File
Definition of a state transition rule. More...
Included Headers
#include <functional>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.state.types.StateTransitionId>
#include <helios.engine.state.types.StateTransitionType>
#include <helios.engine.state.types.StateTransitionRequest>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | state |
| namespace | types |
Classes Index
| class | StateTransitionRule<StateType> |
|
Defines a valid state transition with optional guard. More... | |
Description
Definition of a state transition rule.
File Listing
The file content with the documentation metadata removed is:
18export namespace helios::engine::state::types {
29 using GuardCallback = bool(*)(
31 const StateTransitionRequest<StateType>
47 class StateTransitionRule {
69 GuardCallback<StateType> guard_ = nullptr;
73 constexpr StateTransitionRule() :
74 from_(static_cast<StateType>(0)),
75 transitionId_(static_cast<StateTransitionIdType>(0)),
76 to_(static_cast<StateType>(0))
87 constexpr StateTransitionRule(
88 const StateType from,
89 const StateTransitionIdType transitionId,
90 const StateType to,
91 GuardCallback<StateType> guard = nullptr
92 ) : from_(from), transitionId_(transitionId), to_(to) {
93 if (guard != nullptr) {
94 guard_ = std::move(guard);
119 [[nodiscard]] StateTransitionIdType transitionId() const noexcept {
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.