tess 0.4.0
Performance-first tile and path simulation substrate
Loading...
Searching...
No Matches
tess::Schedule Class Reference

#include <tess/sim/schedule.h>

Public Types

using TaskId = std::uint32_t

Public Member Functions

void reserve_tasks (std::size_t count)
auto add_task (const ScheduleTaskDesc &desc, void *ctx, ScheduleTaskFn fn) -> TaskId
template<typename T>
auto add_task (const ScheduleTaskDesc &desc, T &task) -> TaskId
void seal ()
auto sealed () const noexcept -> bool
void set_enabled (TaskId id, bool enabled) noexcept
void request_run (TaskId id) noexcept
void notify_dirty (std::uint32_t mask) noexcept
auto run_tick (SimClock &clock) -> ScheduleTickStats
auto task_stats (TaskId id) const noexcept -> ScheduleTaskStats
auto task_count () const noexcept -> std::size_t

Detailed Description

Executes non-owning task callbacks in deterministic phase order.

Registering tasks may allocate until seal; dispatch performs no allocation. Instances require external synchronization and callbacks must outlive the schedule.


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