tin  1.5.9
tsm::runtime::detail Namespace Reference

Classes

struct  has_runtime_resource_shape
 
struct  has_runtime_resource_shape< Actor, std::void_t< typename Actor::events, typename Actor::policy > >
 
struct  has_custom_resource_snapshot
 
struct  has_custom_resource_snapshot< Actor, std::void_t< decltype(Actor::resource_snapshot())> >
 
struct  is_timeout_ticks
 
struct  is_timeout_ticks< tsm::timeout_ticks_awaitable >
 
struct  task_list_of
 
struct  task_list_of< Definition, std::void_t< typename Definition::tasks > >
 
struct  runtime_task_list_of
 
struct  runtime_task_list_of< Runtime, std::void_t< typename Runtime::definition > >
 
struct  task_list_traits
 
struct  task_entry_count
 
struct  task_entry_count< tsm::task_def< Entry, Options... > >
 
struct  task_dynamic_count
 
struct  task_dynamic_count< tsm::dynamic_task_slots< Count, FrameBytes > >
 
struct  task_frame_total
 
struct  task_frame_total< tsm::task_def< Entry, Options... > >
 
struct  task_frame_total< tsm::dynamic_task_slots< Count, FrameBytes > >
 
struct  task_list_traits< tsm::tasks< TaskDefinitions... > >
 
struct  task_resources
 
class  timer_queue
 
class  coroutine_scheduler
 
class  coroutine_scheduler< Runtime, tsm::tasks<>, PriorityAware >
 
class  coroutine_scheduler< Runtime, tsm::tasks< TaskDefinitions... >, PriorityAware >
 
class  basic_executor_task_binding
 
struct  storage_capacity
 
struct  storage_capacity< Storage, std::void_t< decltype(Storage::capacity)> >
 
struct  default_machine_policy
 
struct  overflow_strategy
 
struct  overflow_strategy< overflow::reject_newest >
 
struct  overflow_strategy< overflow::drop_oldest >
 
struct  overflow_strategy< overflow::overwrite_latest >
 
class  runtime_impl
 
class  runtime_impl< Definition, Policy, MachinePolicy, topology::direct_dispatch >
 
class  runtime_impl< Definition, Policy, MachinePolicy, topology::composite_queue >
 
class  region_queue
 
class  runtime_impl< tsm::detail::OrthogonalExecutionPolicy< RegionDefinitions... >, Policy, MachinePolicy, topology::per_region_queue >
 
class  waiter_list
 

Typedefs

template<typename Runtime >
using coroutine_scheduler_for = coroutine_scheduler< Runtime, typename runtime_task_list_of< Runtime >::type >
 
template<typename Runtime >
using priority_coroutine_scheduler_for = coroutine_scheduler< Runtime, typename runtime_task_list_of< Runtime >::type, true >
 
template<typename Runtime >
using executor_task_binding = basic_executor_task_binding< Runtime, coroutine_scheduler_for >
 
template<typename Runtime >
using priority_executor_task_binding = basic_executor_task_binding< Runtime, priority_coroutine_scheduler_for >
 

Functions

consteval resource_snapshot add_resource_snapshots (resource_snapshot lhs, resource_snapshot rhs)
 
task_contextfind_task_context () noexcept
 
template<typename First , typename... Rest>
task_contextfind_task_context (First &first, Rest &... rest) noexcept
 
template<typename Awaitable >
void cancel_awaitable (Awaitable &awaitable, task_context &context) noexcept
 
consteval std::size_t selected_instances ()
 
template<std::size_t Count, typename... Rest>
consteval std::size_t selected_instances (tsm::instances< Count >, Rest...)
 
template<typename First , typename... Rest>
consteval std::size_t selected_instances (First, Rest... rest)
 
consteval std::size_t selected_frame_bytes ()
 
template<std::size_t Bytes, typename... Rest>
consteval std::size_t selected_frame_bytes (tsm::frame_bytes< Bytes >, Rest...)
 
template<typename First , typename... Rest>
consteval std::size_t selected_frame_bytes (First, Rest... rest)
 
consteval std::uint8_t selected_priority ()
 
template<std::uint8_t Priority, typename... Rest>
consteval std::uint8_t selected_priority (tsm::task_priority< Priority >, Rest...)
 
template<typename First , typename... Rest>
consteval std::uint8_t selected_priority (First, Rest... rest)
 

Variables

template<typename Awaitable >
concept basic_awaitable
 
template<typename Definition >
concept declared_task_definition
 
template<typename Definition >
concept dynamic_task_definition
 
template<auto Left, auto Right>
concept same_task_entry
 

Typedef Documentation

◆ coroutine_scheduler_for

template<typename Runtime >
using tsm::runtime::detail::coroutine_scheduler_for = typedef coroutine_scheduler<Runtime, typename runtime_task_list_of<Runtime>::type>

◆ executor_task_binding

template<typename Runtime >
using tsm::runtime::detail::executor_task_binding = typedef basic_executor_task_binding<Runtime, coroutine_scheduler_for>

◆ priority_coroutine_scheduler_for

template<typename Runtime >
using tsm::runtime::detail::priority_coroutine_scheduler_for = typedef coroutine_scheduler<Runtime, typename runtime_task_list_of<Runtime>::type, true>

◆ priority_executor_task_binding

template<typename Runtime >
using tsm::runtime::detail::priority_executor_task_binding = typedef basic_executor_task_binding<Runtime, priority_coroutine_scheduler_for>

Function Documentation

◆ add_resource_snapshots()

consteval resource_snapshot tsm::runtime::detail::add_resource_snapshots ( resource_snapshot  lhs,
resource_snapshot  rhs 
)

◆ cancel_awaitable()

template<typename Awaitable >
void tsm::runtime::detail::cancel_awaitable ( Awaitable &  awaitable,
task_context context 
)
noexcept

◆ find_task_context() [1/2]

task_context* tsm::runtime::detail::find_task_context ( )
inlinenoexcept

◆ find_task_context() [2/2]

template<typename First , typename... Rest>
task_context* tsm::runtime::detail::find_task_context ( First &  first,
Rest &...  rest 
)
noexcept

◆ selected_frame_bytes() [1/3]

consteval std::size_t tsm::runtime::detail::selected_frame_bytes ( )

◆ selected_frame_bytes() [2/3]

template<typename First , typename... Rest>
consteval std::size_t tsm::runtime::detail::selected_frame_bytes ( First  ,
Rest...  rest 
)

◆ selected_frame_bytes() [3/3]

template<std::size_t Bytes, typename... Rest>
consteval std::size_t tsm::runtime::detail::selected_frame_bytes ( tsm::frame_bytes< Bytes >  ,
Rest...   
)

◆ selected_instances() [1/3]

consteval std::size_t tsm::runtime::detail::selected_instances ( )

◆ selected_instances() [2/3]

template<typename First , typename... Rest>
consteval std::size_t tsm::runtime::detail::selected_instances ( First  ,
Rest...  rest 
)

◆ selected_instances() [3/3]

template<std::size_t Count, typename... Rest>
consteval std::size_t tsm::runtime::detail::selected_instances ( tsm::instances< Count >  ,
Rest...   
)

◆ selected_priority() [1/3]

consteval std::uint8_t tsm::runtime::detail::selected_priority ( )

◆ selected_priority() [2/3]

template<typename First , typename... Rest>
consteval std::uint8_t tsm::runtime::detail::selected_priority ( First  ,
Rest...  rest 
)

◆ selected_priority() [3/3]

template<std::uint8_t Priority, typename... Rest>
consteval std::uint8_t tsm::runtime::detail::selected_priority ( tsm::task_priority< Priority >  ,
Rest...   
)

Variable Documentation

◆ basic_awaitable

template<typename Awaitable >
concept tsm::runtime::detail::basic_awaitable
Initial value:
= requires(Awaitable awaitable, task::handle_type h)
{
{
awaitable.await_ready()
} -> std::convertible_to<bool>;
awaitable.await_suspend(h);
awaitable.await_resume();
}
requires(!has_transition_type_c< T > &&has_transition_member_c< T >) struct transitions_of< T >
Definition: transition.h:479
concept awaitable
Definition: io.h:67

◆ declared_task_definition

template<typename Definition >
concept tsm::runtime::detail::declared_task_definition
Initial value:
{
Definition::entry;
Definition::instances;
Definition::frame_bytes;
}

◆ dynamic_task_definition

template<typename Definition >
concept tsm::runtime::detail::dynamic_task_definition
Initial value:
{
Definition::count;
Definition::frame_bytes;
}

◆ same_task_entry

template<auto Left, auto Right>
concept tsm::runtime::detail::same_task_entry
Initial value:
= std::same_as<std::remove_cvref_t<decltype(Left)>,
std::remove_cvref_t<decltype(Right)>>