Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
StateMachine.hpp File Reference

Zero-heap variant-based active finite state machine coordinator. More...

#include <type_traits>
#include <utility>
#include <variant>
#include "corium/fsm/Transition.hpp"
+ Include dependency graph for StateMachine.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  corium::fsm::detail::is_internal_transition< T >
 
struct  corium::fsm::detail::is_internal_transition< T >
 
class  corium::fsm::StateMachine< Table, InitialState, OtherStates >
 Zero-heap, compile-time Finite State Machine. More...
 

Namespaces

namespace  corium
 
namespace  corium::fsm
 
namespace  corium::fsm::detail
 

Functions

template<typename State , typename Event >
constexpr void corium::fsm::detail::call_on_enter (State &s, const Event &e)
 
template<typename State , typename Event >
constexpr void corium::fsm::detail::call_on_exit (State &s, const Event &e)
 
template<typename Guard , typename State , typename Event >
constexpr bool corium::fsm::detail::evaluate_guard (const Guard &guard, const State &s, const Event &e)
 
template<typename Action , typename From , typename Event , typename To >
constexpr void corium::fsm::detail::execute_action (const Action &action, From &from, const Event &e, To &to)
 

Variables

template<typename T >
constexpr bool corium::fsm::detail::is_internal_transition_v = is_internal_transition<T>::value
 

Detailed Description

Zero-heap variant-based active finite state machine coordinator.