|
tess 0.4.0
Performance-first tile and path simulation substrate
|
Dense per-operation completion and payload channel. More...
#include <tess/ops/result_channel.h>
Public Member Functions | |
| ResultChannel (const ResultChannel &)=delete | |
| auto | operator= (const ResultChannel &) -> ResultChannel &=delete |
| ResultChannel (ResultChannel &&)=delete | |
| auto | operator= (ResultChannel &&) -> ResultChannel &=delete |
| void | reserve_operations (std::size_t count) |
| void | clear () noexcept |
| auto | state (OpHandle handle) const noexcept -> OpResultState |
| auto | completion (OpHandle handle) const noexcept -> OpCompletion |
| auto | size () const noexcept -> std::size_t |
| auto | generation () const noexcept -> std::uint64_t |
| template<typename Visitor> | |
| auto | drain_results (Visitor &&visit) -> std::size_t |
Friends | |
| template<typename U> | |
| auto | record_plan_completions (const ExecutionReport &report, ResultChannel< U > &channel) -> std::size_t |
| template<WritePolicy Policy, typename Executor, typename World, typename U, typename Fn> | |
| auto | execute_phase_partitioned_dirty_with_results (Executor &&executor, World &world, const ExecutionPlan &plan, const ExecutionPhase &phase, PlannedPhaseExecutionScratch &scratch, ResultChannel< U > &channel, Fn &&fn) -> PlannedExecutionResult |
| template<WritePolicy Policy, typename World, typename U, typename Fn> | |
| auto | execute_plan_deferred_dirty_with_results (World &world, const ExecutionPlan &plan, PlannedDirtyAccumulator &dirty, ResultChannel< U > &channel, Fn &&fn) -> PlannedExecutionResult |
Dense per-operation completion and payload channel.
Fixed-capacity, handle-indexed completion channel with drain-once delivery.
Receives typed completion values for queued execution wrappers.