16 template <
typename... Args>
17 constexpr bool operator()(Args&&...) const noexcept {
return true; }
22 template <
typename... Args>
36 typename Guard = Always,
37 typename Action = NoAction
60 typename Guard = Always,
61 typename Action = NoAction
81template <
typename Action,
typename From,
typename Event,
typename To>
86template <
typename... Actions>
93 template <
typename From,
typename Event,
typename To>
95 std::apply([&](
const auto&... act) {
102template <
typename... Transitions>
constexpr void execute_action(const Action &action, From &from, const Event &e, To &to)
Definition StateMachine.hpp:51
Definition HistoryState.hpp:9
DefaultEvents Event
Alias for DefaultEvents.
Definition Events.hpp:65
Sequential composition of multiple transition actions.
Definition Transition.hpp:87
std::tuple< Actions... > actions
Definition Transition.hpp:88
constexpr ActionList()=default
constexpr void operator()(From &from, const Event &event, To &to) const
Definition Transition.hpp:94
constexpr ActionList(Actions... a)
Definition Transition.hpp:91
Default always-true guard for state machine transitions.
Definition Transition.hpp:15
constexpr bool operator()(Args &&...) const noexcept
Definition Transition.hpp:17
Compile-time internal transition rule (executes action without exiting or re-entering state).
Definition Transition.hpp:63
State FromState
Definition Transition.hpp:64
Guard GuardType
Definition Transition.hpp:67
Event EventType
Definition Transition.hpp:65
constexpr InternalTransition()=default
GuardType guard
Definition Transition.hpp:71
static constexpr bool is_internal
Definition Transition.hpp:69
Action ActionType
Definition Transition.hpp:68
ActionType action
Definition Transition.hpp:72
State ToState
Definition Transition.hpp:66
constexpr InternalTransition(GuardType g, ActionType a=ActionType{})
Definition Transition.hpp:75
Default no-op action for state machine transitions.
Definition Transition.hpp:21
constexpr void operator()(Args &&...) const noexcept
Definition Transition.hpp:23
Compile-time table containing all valid state transitions.
Definition Transition.hpp:103
std::tuple< Transitions... > TransitionsTuple
Definition Transition.hpp:104
Compile-time transition rule definition.
Definition Transition.hpp:39
ActionType action
Definition Transition.hpp:48
constexpr Transition(GuardType g, ActionType a=ActionType{})
Definition Transition.hpp:51
To ToState
Definition Transition.hpp:42
Event EventType
Definition Transition.hpp:41
From FromState
Definition Transition.hpp:40
constexpr Transition()=default
Guard GuardType
Definition Transition.hpp:43
static constexpr bool is_internal
Definition Transition.hpp:45
Action ActionType
Definition Transition.hpp:44
GuardType guard
Definition Transition.hpp:47