|
| template<std::size_t I, typename Plan , typename Slots > |
| constexpr node_enter_result | yorch::detail::enter_node_runtime (Plan &plan, Slots &slots, plan_fanout_state< Plan > &fanout) |
| | Per-node runtime thunk for entering node I.
|
| |
| template<std::size_t I, typename Plan , typename Slots , typename Ctx > |
| constexpr node_enter_result | yorch::detail::enter_node_runtime (Plan &plan, Slots &slots, plan_fanout_state< Plan > &fanout, Ctx &ctx) |
| | Context-threading variant of the per-node enter thunk.
|
| |
| template<std::size_t I, typename Slots > |
| constexpr void | yorch::detail::destroy_node_payload_runtime (Slots &slots) noexcept |
| | Per-node runtime thunk for destroying node I's payload slot.
|
| |
| template<std::size_t I, typename Plan , typename Slots > |
| constexpr void | yorch::detail::prepare_fanout_runtime (Slots &slots, plan_fanout_state< Plan > &fanout) |
| |
| template<std::size_t I, typename Plan > |
| constexpr void | yorch::detail::destroy_fanout_runtime (plan_fanout_state< Plan > &fanout) noexcept |
| |
| template<typename Plan , typename Slots , std::size_t... I> |
| consteval auto | yorch::detail::make_enter_node_dispatch_table (std::index_sequence< I... >) |
| | Builds the runtime dispatch table for node entry without external context.
|
| |
| template<typename Plan , typename Slots , typename Ctx , std::size_t... I> |
| consteval auto | yorch::detail::make_enter_node_dispatch_table (std::index_sequence< I... >) |
| | Builds the runtime dispatch table for node entry with external context.
|
| |
| template<typename Plan , typename Slots , std::size_t... I> |
| consteval auto | yorch::detail::make_destroy_node_dispatch_table (std::index_sequence< I... >) |
| | Builds the runtime dispatch table for payload destruction.
|
| |
| template<typename Plan , typename Slots , std::size_t... I> |
| consteval auto | yorch::detail::make_prepare_fanout_dispatch_table (std::index_sequence< I... >) |
| |
| template<typename Plan , typename Slots , std::size_t... I> |
| consteval auto | yorch::detail::make_destroy_fanout_dispatch_table (std::index_sequence< I... >) |
| |
| template<typename Plan , std::size_t... I> |
| consteval auto | yorch::detail::make_requires_fanout_staging_table (std::index_sequence< I... >) |
| |
| template<typename Plan , typename EnterInvoker , typename DestroyInvoker , typename PrepareFanoutInvoker , typename DestroyFanoutInvoker > |
| constexpr step_result | yorch::detail::run_explicit_heap_stack_loop (const auto &requires_fanout_staging_by_index, EnterInvoker enter_node_by_index, DestroyInvoker destroy_node_payload_by_index, PrepareFanoutInvoker prepare_fanout_by_index, DestroyFanoutInvoker destroy_fanout_by_index) |
| | Executes serial DFS using a heap-backed explicit stack.
|
| |
| template<typename Plan , typename Slots > |
| constexpr step_result | yorch::detail::run_explicit_heap_stack (Plan &plan, Slots &slots, plan_fanout_state< Plan > &fanout) |
| |
| template<typename Plan , typename Slots , typename Ctx > |
| constexpr step_result | yorch::detail::run_explicit_heap_stack (Plan &plan, Slots &slots, plan_fanout_state< Plan > &fanout, Ctx &ctx) |
| |