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

#include <tess/path/path.h>

Public Member Functions

void reserve_path_nodes (std::size_t node_count)
void reserve_dependencies (std::size_t count)
void clear () noexcept
template<typename World>
auto is_valid (const World &world) const noexcept -> bool
auto request () const noexcept -> PathRequest
auto dependencies () const noexcept -> std::span< const ChunkVersionDependencies::ChunkVersionDependency >

Friends

template<typename World, typename PassableTag, typename CostTag>
auto build_weighted_route_product (const World &world, PathRequest request, PathScratch &scratch, WeightedRouteProduct &product) -> PathResult
template<typename World>
auto weighted_route_product_path (const World &world, const WeightedRouteProduct &product) -> PathResult
 Replays a route product when all captured chunk versions still match.

Detailed Description

Owns a weighted route and the chunk versions required to replay it.

Returned path views borrow this product and remain valid until mutation.

◆ build_weighted_route_product

template<typename World, typename PassableTag, typename CostTag>
auto build_weighted_route_product ( const World & world,
PathRequest request,
PathScratch & scratch,
WeightedRouteProduct & product ) -> PathResult
friend

Builds a dense-world weighted route and records replay dependencies.

The returned path borrows product and remains valid until its mutation.


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