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

#include <tess/ops/queued.h>

Public Member Functions

void reserve_operations (std::size_t count)
void reserve_dirty_records_per_operation (std::size_t count)
void reserve_merged_dirty_records (std::size_t count)
void prepare_for_operation_count (std::size_t count)
void clear () noexcept
auto operation_count () const noexcept -> std::size_t
auto dirty_partitions () const noexcept -> std::span< const detail::PhaseDirtyPartition >

Friends

template<WritePolicy Policy, typename Executor, typename World, typename Fn>
auto execute_phase_partitioned_dirty_with (Executor &&executor, World &world, const ExecutionPlan &plan, const ExecutionPhase &phase, PlannedPhaseExecutionScratch &scratch, Fn &&fn) -> PlannedExecutionResult
template<WritePolicy Policy, typename Executor, typename World, typename T, typename Fn>
auto execute_phase_partitioned_dirty_with_results (Executor &&executor, World &world, const ExecutionPlan &plan, const ExecutionPhase &phase, PlannedPhaseExecutionScratch &scratch, ResultChannel< T > &channel, Fn &&fn) -> PlannedExecutionResult
 Executes one phase while publishing per-operation payloads and completions.
template<typename World>
auto merge_planned_dirty (World &world, PlannedPhaseExecutionScratch &scratch) -> PlannedDirtyMergeResult
template<typename World>
auto detail::merge_planned_dirty_after_exception (World &world, PlannedPhaseExecutionScratch &scratch) noexcept -> PlannedDirtyMergeResult

Detailed Description

Reusable partitions, results, and merge storage for one execution phase.

◆ execute_phase_partitioned_dirty_with

template<WritePolicy Policy, typename Executor, typename World, typename Fn>
auto execute_phase_partitioned_dirty_with ( Executor && executor,
World & world,
const ExecutionPlan & plan,
const ExecutionPhase & phase,
PlannedPhaseExecutionScratch & scratch,
Fn && fn ) -> PlannedExecutionResult
friend

Executes a phase with operation-local dirty partitions for concurrency.

◆ merge_planned_dirty

template<typename World>
auto merge_planned_dirty ( World & world,
PlannedPhaseExecutionScratch & scratch ) -> PlannedDirtyMergeResult
friend

Applies phase dirty records through the scratch object's accumulator.


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