Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance > Struct Template Reference

#include <K_Shortest_Paths.H>

Collaboration diagram for Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >:
[legend]

Public Types

using Arc = typename GT::Arc
 
using Distance_Type = typename Distance::Distance_Type
 

Public Member Functions

Distance_Type operator() (Arc *rev_arc) const
 

Static Public Attributes

static thread_local const DynMapTree< Arc *, Arc * > * map_ptr = nullptr
 Context for reverse-graph Dijkstra in build_suffix_index_digraph().
 
static thread_local const Distance * base_ptr = nullptr
 

Detailed Description

template<AlephGraph GT, ArcDistance< GT > Distance>
struct Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >

Definition at line 161 of file K_Shortest_Paths.H.

Member Typedef Documentation

◆ Arc

template<AlephGraph GT, ArcDistance< GT > Distance>
using Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >::Arc = typename GT::Arc

Definition at line 163 of file K_Shortest_Paths.H.

◆ Distance_Type

template<AlephGraph GT, ArcDistance< GT > Distance>
using Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >::Distance_Type = typename Distance::Distance_Type

Definition at line 164 of file K_Shortest_Paths.H.

Member Function Documentation

◆ operator()()

Member Data Documentation

◆ base_ptr

template<AlephGraph GT, ArcDistance< GT > Distance>
thread_local const Distance* Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >::base_ptr = nullptr
inlinestatic

◆ map_ptr

template<AlephGraph GT, ArcDistance< GT > Distance>
thread_local const DynMapTree<Arc *, Arc *>* Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >::map_ptr = nullptr
inlinestatic

Context for reverse-graph Dijkstra in build_suffix_index_digraph().

Warning
This struct uses static thread_local pointers to map reverse arcs back to original arcs. It is NOT re-entrant on the same thread: nested calls to algorithms using this struct will overwrite the global context. The Reset_Reverse_Distance RAII guard is used to restore state.

Definition at line 178 of file K_Shortest_Paths.H.

Referenced by Aleph::k_shortest_paths_detail::Reverse_Arc_Distance< GT, Distance >::operator()().


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