tin  1.5.9
tsm::runtime::basic_cooperative_executor< Binding, Tasks > Class Template Reference

#include <executor.h>

Inheritance diagram for tsm::runtime::basic_cooperative_executor< Binding, Tasks >:
Inheritance graph
Collaboration diagram for tsm::runtime::basic_cooperative_executor< Binding, Tasks >:
Collaboration graph

Public Member Functions

constexpr basic_cooperative_executor (Tasks &... tasks)
 
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)
 
void start_all ()
 
template<auto Entry, std::size_t Instance = 0U>
spawn_result start ()
 
template<auto... Entries>
void start_group (tsm::task_group< Entries... >)
 
template<auto Entry, typename... Args>
spawn_result spawn (Args &&... args)
 
task_spawner< basic_cooperative_executorspawner ()
 
template<auto Entry, std::size_t Instance = 0U>
task_status task_status () const
 
template<auto Entry, std::size_t Instance = 0U>
task_failure_reason task_failure_reason () const
 
template<auto Entry, std::size_t Instance = 0U>
bool cancel () noexcept
 
template<auto... Entries>
void cancel_group (tsm::task_group< Entries... >) noexcept
 
void cancel_all () noexcept
 

Constructor & Destructor Documentation

◆ basic_cooperative_executor()

template<template< typename > typename Binding, typename... Tasks>
constexpr tsm::runtime::basic_cooperative_executor< Binding, Tasks >::basic_cooperative_executor ( Tasks &...  tasks)
inlineexplicitconstexpr

Member Function Documentation

◆ cancel()

template<template< typename > typename Binding, typename... Tasks>
template<auto Entry, std::size_t Instance = 0U>
bool tsm::runtime::basic_cooperative_executor< Binding, Tasks >::cancel ( )
inlinenoexcept

◆ cancel_all()

template<template< typename > typename Binding, typename... Tasks>
void tsm::runtime::basic_cooperative_executor< Binding, Tasks >::cancel_all ( )
inlinenoexcept

◆ cancel_group()

template<template< typename > typename Binding, typename... Tasks>
template<auto... Entries>
void tsm::runtime::basic_cooperative_executor< Binding, Tasks >::cancel_group ( tsm::task_group< Entries... >  )
inlinenoexcept

◆ run_ready()

template<template< typename > typename Binding, typename... Tasks>
std::size_t tsm::runtime::basic_cooperative_executor< Binding, Tasks >::run_ready ( )
inline

◆ spawn()

template<template< typename > typename Binding, typename... Tasks>
template<auto Entry, typename... Args>
spawn_result tsm::runtime::basic_cooperative_executor< Binding, Tasks >::spawn ( Args &&...  args)
inline

◆ spawner()

template<template< typename > typename Binding, typename... Tasks>
task_spawner<basic_cooperative_executor> tsm::runtime::basic_cooperative_executor< Binding, Tasks >::spawner ( )
inline

◆ start()

template<template< typename > typename Binding, typename... Tasks>
template<auto Entry, std::size_t Instance = 0U>
spawn_result tsm::runtime::basic_cooperative_executor< Binding, Tasks >::start ( )
inline

◆ start_all()

template<template< typename > typename Binding, typename... Tasks>
void tsm::runtime::basic_cooperative_executor< Binding, Tasks >::start_all ( )
inline

◆ start_group()

template<template< typename > typename Binding, typename... Tasks>
template<auto... Entries>
void tsm::runtime::basic_cooperative_executor< Binding, Tasks >::start_group ( tsm::task_group< Entries... >  )
inline

◆ step()

template<template< typename > typename Binding, typename... Tasks>
bool tsm::runtime::basic_cooperative_executor< Binding, Tasks >::step ( )
inline

◆ task_failure_reason()

template<template< typename > typename Binding, typename... Tasks>
template<auto Entry, std::size_t Instance = 0U>
task_failure_reason tsm::runtime::basic_cooperative_executor< Binding, Tasks >::task_failure_reason ( ) const
inline

◆ task_status()

template<template< typename > typename Binding, typename... Tasks>
template<auto Entry, std::size_t Instance = 0U>
task_status tsm::runtime::basic_cooperative_executor< Binding, Tasks >::task_status ( ) const
inline

◆ tick() [1/2]

template<template< typename > typename Binding, typename... Tasks>
std::size_t tsm::runtime::basic_cooperative_executor< Binding, Tasks >::tick ( tsm::tick_count  elapsed_ticks)
inline

◆ tick() [2/2]

template<template< typename > typename Binding, typename... Tasks>
std::size_t tsm::runtime::basic_cooperative_executor< Binding, Tasks >::tick ( tsm::tick_rep  elapsed_ticks = 1U)
inline

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