fsm
Public Types | Public Member Functions | Public Attributes | List of all members
escad::new_fsm::transitions< S > Class Template Reference

Class representing a collection of transitions. More...

#include <transition.h>

Public Types

using list = mpl::type_list< S... >
 

Public Member Functions

template<class... T>
constexpr transitions (transitions< T... > const &rhs) noexcept
 Constructs a new transitions object from another transitions object. More...
 
template<class T >
 transitions (detail::sibling< T >) noexcept
 Constructs a new transitions object from a detail::transition type. More...
 
template<class T >
 transitions (detail::inner< T >) noexcept
 
template<class T >
 transitions (detail::inner_entry< T >) noexcept
 
template<class T >
 transitions (transitions< T > const &rhs) noexcept
 Constructs a new transitions object from another transitions object. More...
 
 transitions (detail::none) noexcept
 Constructs a new transitions object with no transition. More...
 
 transitions (transitions< detail::none >) noexcept
 Constructs a new transitions object indicating that the event was handled. More...
 
bool is_transition () const
 Checks if this object represents a transition. More...
 
bool is_sibling () const
 
bool is_inner () const
 
bool is_inner_entry () const
 
bool is_none () const
 Checks if the event was handled. More...
 

Public Attributes

std::size_t const idx
 
result const outcome
 

Detailed Description

template<class... S>
class escad::new_fsm::transitions< S >

Class representing a collection of transitions.

Template Parameters
SThe list of state types.

Constructor & Destructor Documentation

◆ transitions() [1/5]

template<class... S>
template<class... T>
constexpr escad::new_fsm::transitions< S >::transitions ( transitions< T... > const &  rhs)
inlinenoexcept

Constructs a new transitions object from another transitions object.

Template Parameters
TThe list of state types.
Parameters
rhsThe transitions object to copy from.

◆ transitions() [2/5]

template<class... S>
template<class T >
escad::new_fsm::transitions< S >::transitions ( detail::sibling< T >  )
inlinenoexcept

Constructs a new transitions object from a detail::transition type.

Template Parameters
TThe state type.
Parameters
tThe detail::transition object.

◆ transitions() [3/5]

template<class... S>
template<class T >
escad::new_fsm::transitions< S >::transitions ( transitions< T > const &  rhs)
inlinenoexcept

Constructs a new transitions object from another transitions object.

Template Parameters
TThe list of state types.
Parameters
tThe transitions object.

◆ transitions() [4/5]

template<class... S>
escad::new_fsm::transitions< S >::transitions ( detail::none  )
inlinenoexcept

Constructs a new transitions object with no transition.

Parameters
hThe handled tag object.

◆ transitions() [5/5]

template<class... S>
escad::new_fsm::transitions< S >::transitions ( transitions< detail::none )
inlinenoexcept

Constructs a new transitions object indicating that the event was handled.

Parameters
tThe transitions object.

Member Function Documentation

◆ is_none()

template<class... S>
bool escad::new_fsm::transitions< S >::is_none ( ) const
inline

Checks if the event was handled.

Returns
true if the event was handled, false otherwise.

◆ is_transition()

template<class... S>
bool escad::new_fsm::transitions< S >::is_transition ( ) const
inline

Checks if this object represents a transition.

Returns
true if the object represents a transition, false otherwise.

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