tin  1.5.9
tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots > Class Template Reference

#include <app.h>

Collaboration diagram for tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >:
Collaboration graph

Public Types

using definition = Definition
 
using runtime_type = Runtime< Definition, RuntimePolicy >
 
using executor_type = Executor< runtime_type >
 
using timer_type = delayed_event_timer< runtime_type, TimerSlots==0U ? 1U :TimerSlots >
 
using machine_type = typename runtime_type::machine_type
 
using context_type = typename runtime_type::context_type
 

Public Member Functions

 app ()
 
runtime_typeruntime () noexcept
 
runtime_type const & runtime () const noexcept
 
executor_typeexecutor () noexcept
 
executor_type const & executor () const noexcept
 
auto spawner ()
 
machine_typemachine () noexcept
 
machine_type const & machine () const noexcept
 
context_typecontext () noexcept
 
context_type const & context () const noexcept
 
bool step ()
 
std::size_t run_ready ()
 
std::size_t tick (tsm::tick_rep elapsed_ticks=1U)
 
std::size_t tick (tsm::tick_count elapsed_ticks)
 
template<typename Event >
bool send_event (Event &&event)
 
template<typename Event >
bool after_ticks (Event &&event, tsm::tick_rep ticks)
 
template<typename Event >
bool after_ticks (Event &&event, tick_count ticks)
 
template<typename Event >
bool every_ticks (Event &&event, tsm::tick_rep ticks)
 
template<typename Event >
bool every_ticks (Event &&event, tick_count ticks)
 

Member Typedef Documentation

◆ context_type

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::context_type = typename runtime_type::context_type

◆ definition

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::definition = Definition

◆ executor_type

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::executor_type = Executor<runtime_type>

◆ machine_type

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::machine_type = typename runtime_type::machine_type

◆ runtime_type

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::runtime_type = Runtime<Definition, RuntimePolicy>

◆ timer_type

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
using tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::timer_type = delayed_event_timer<runtime_type, TimerSlots == 0U ? 1U : TimerSlots>

Constructor & Destructor Documentation

◆ app()

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::app ( )
inline

Member Function Documentation

◆ after_ticks() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
template<typename Event >
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::after_ticks ( Event &&  event,
tick_count  ticks 
)
inline

◆ after_ticks() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
template<typename Event >
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::after_ticks ( Event &&  event,
tsm::tick_rep  ticks 
)
inline

◆ context() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
context_type const& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::context ( ) const
inlinenoexcept

◆ context() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
context_type& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::context ( )
inlinenoexcept

◆ every_ticks() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
template<typename Event >
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::every_ticks ( Event &&  event,
tick_count  ticks 
)
inline

◆ every_ticks() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
template<typename Event >
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::every_ticks ( Event &&  event,
tsm::tick_rep  ticks 
)
inline

◆ executor() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
executor_type const& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::executor ( ) const
inlinenoexcept

◆ executor() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
executor_type& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::executor ( )
inlinenoexcept

◆ machine() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
machine_type const& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::machine ( ) const
inlinenoexcept

◆ machine() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
machine_type& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::machine ( )
inlinenoexcept

◆ run_ready()

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
std::size_t tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::run_ready ( )
inline

◆ runtime() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
runtime_type const& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::runtime ( ) const
inlinenoexcept

◆ runtime() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
runtime_type& tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::runtime ( )
inlinenoexcept

◆ send_event()

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
template<typename Event >
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::send_event ( Event &&  event)
inline

◆ spawner()

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
auto tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::spawner ( )
inline

◆ step()

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
bool tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::step ( )
inline

◆ tick() [1/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
std::size_t tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::tick ( tsm::tick_count  elapsed_ticks)
inline

◆ tick() [2/2]

template<typename Definition , typename RuntimePolicy , template< typename... > class Executor = cooperative_executor, std::size_t TimerSlots = 0U>
std::size_t tsm::runtime::app< Definition, RuntimePolicy, Executor, TimerSlots >::tick ( tsm::tick_rep  elapsed_ticks = 1U)
inline

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