Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::fsm::InternalTransition< State, Event, Guard, Action > Struct Template Reference

Compile-time internal transition rule (executes action without exiting or re-entering state). More...

#include <Transition.hpp>

+ Collaboration diagram for corium::fsm::InternalTransition< State, Event, Guard, Action >:

Public Types

using ActionType = Action
 
using EventType = Event
 
using FromState = State
 
using GuardType = Guard
 
using ToState = State
 

Public Member Functions

constexpr InternalTransition ()=default
 
constexpr InternalTransition (GuardType g, ActionType a=ActionType{})
 

Public Attributes

ActionType action {}
 
GuardType guard {}
 

Static Public Attributes

static constexpr bool is_internal = true
 

Detailed Description

template<typename State, typename Event, typename Guard = Always, typename Action = NoAction>
struct corium::fsm::InternalTransition< State, Event, Guard, Action >

Compile-time internal transition rule (executes action without exiting or re-entering state).

Member Typedef Documentation

◆ ActionType

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
using corium::fsm::InternalTransition< State, Event, Guard, Action >::ActionType = Action

◆ EventType

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
using corium::fsm::InternalTransition< State, Event, Guard, Action >::EventType = Event

◆ FromState

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
using corium::fsm::InternalTransition< State, Event, Guard, Action >::FromState = State

◆ GuardType

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
using corium::fsm::InternalTransition< State, Event, Guard, Action >::GuardType = Guard

◆ ToState

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
using corium::fsm::InternalTransition< State, Event, Guard, Action >::ToState = State

Constructor & Destructor Documentation

◆ InternalTransition() [1/2]

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
constexpr corium::fsm::InternalTransition< State, Event, Guard, Action >::InternalTransition ( )
constexprdefault

◆ InternalTransition() [2/2]

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
constexpr corium::fsm::InternalTransition< State, Event, Guard, Action >::InternalTransition ( GuardType  g,
ActionType  a = ActionType{} 
)
inlineexplicitconstexpr

Member Data Documentation

◆ action

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
ActionType corium::fsm::InternalTransition< State, Event, Guard, Action >::action {}

◆ guard

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
GuardType corium::fsm::InternalTransition< State, Event, Guard, Action >::guard {}

◆ is_internal

template<typename State , typename Event , typename Guard = Always, typename Action = NoAction>
constexpr bool corium::fsm::InternalTransition< State, Event, Guard, Action >::is_internal = true
staticconstexpr

The documentation for this struct was generated from the following file: