Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::internal::gcm::graph::Dijkstra< Graph, Flags > Class Template Reference

#include <ogdf/geometric/cr_min/graph/algorithms/Dijkstra.h>

Public Member Functions

 Dijkstra (const Graph &_graph)
 
template<typename Range , typename FWeight , typename FSettle , typename FExpand , typename FTraverse >
bool traverse (const Range &sources, FWeight &&weight, FSettle &&settle, FExpand &&expand, FTraverse &&f_traverse)
 
template<typename FWeight , typename FSettle , typename FExpand , typename FTraverse >
bool traverse_single (const Node &source, FWeight &&weight, FSettle &&settle, FExpand &&expand, FTraverse &&f_traverse)
 

Static Public Member Functions

static bool expand_all (typename Graph::Node, typename Graph::Edge)
 
static void settle_nothing (typename Graph::Node, double weight)
 
static void traverse_nothing (typename Graph::Node, typename Graph::Edge)
 

Public Attributes

Node cycle_vertex = nullptr
 

Private Types

using Edge = typename Graph::Edge
 
using Element = typename Heap::Handle
 
using Heap = PrioritizedQueue< Node, double >
 
using Node = typename Graph::Node
 

Private Attributes

std::vector< double > distances
 
const Graphgraph
 
Heap heap
 
std::vector< Elementreference
 
Flags visited
 

Detailed Description

template<typename Graph, typename Flags = datastructure::TimestampFlags>
class ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >

Definition at line 41 of file Dijkstra.h.

Member Typedef Documentation

◆ Edge

template<typename Graph , typename Flags = datastructure::TimestampFlags>
using ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::Edge = typename Graph::Edge
private

Definition at line 44 of file Dijkstra.h.

◆ Element

template<typename Graph , typename Flags = datastructure::TimestampFlags>
using ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::Element = typename Heap::Handle
private

Definition at line 46 of file Dijkstra.h.

◆ Heap

template<typename Graph , typename Flags = datastructure::TimestampFlags>
using ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::Heap = PrioritizedQueue<Node, double>
private

Definition at line 45 of file Dijkstra.h.

◆ Node

template<typename Graph , typename Flags = datastructure::TimestampFlags>
using ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::Node = typename Graph::Node
private

Definition at line 43 of file Dijkstra.h.

Constructor & Destructor Documentation

◆ Dijkstra()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::Dijkstra ( const Graph _graph)
inline

Definition at line 65 of file Dijkstra.h.

Member Function Documentation

◆ expand_all()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
static bool ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::expand_all ( typename Graph::Node  ,
typename Graph::Edge   
)
inlinestatic

Definition at line 58 of file Dijkstra.h.

◆ settle_nothing()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
static void ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::settle_nothing ( typename Graph::Node  ,
double  weight 
)
inlinestatic

Definition at line 55 of file Dijkstra.h.

◆ traverse()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
template<typename Range , typename FWeight , typename FSettle , typename FExpand , typename FTraverse >
bool ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::traverse ( const Range sources,
FWeight &&  weight,
FSettle &&  settle,
FExpand &&  expand,
FTraverse &&  f_traverse 
)
inline

Definition at line 76 of file Dijkstra.h.

◆ traverse_nothing()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
static void ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::traverse_nothing ( typename Graph::Node  ,
typename Graph::Edge   
)
inlinestatic

Definition at line 60 of file Dijkstra.h.

◆ traverse_single()

template<typename Graph , typename Flags = datastructure::TimestampFlags>
template<typename FWeight , typename FSettle , typename FExpand , typename FTraverse >
bool ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::traverse_single ( const Node source,
FWeight &&  weight,
FSettle &&  settle,
FExpand &&  expand,
FTraverse &&  f_traverse 
)
inline

Definition at line 119 of file Dijkstra.h.

Member Data Documentation

◆ cycle_vertex

template<typename Graph , typename Flags = datastructure::TimestampFlags>
Node ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::cycle_vertex = nullptr

Definition at line 63 of file Dijkstra.h.

◆ distances

template<typename Graph , typename Flags = datastructure::TimestampFlags>
std::vector<double> ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::distances
private

Definition at line 52 of file Dijkstra.h.

◆ graph

template<typename Graph , typename Flags = datastructure::TimestampFlags>
const Graph& ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::graph
private

Definition at line 48 of file Dijkstra.h.

◆ heap

template<typename Graph , typename Flags = datastructure::TimestampFlags>
Heap ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::heap
private

Definition at line 50 of file Dijkstra.h.

◆ reference

template<typename Graph , typename Flags = datastructure::TimestampFlags>
std::vector<Element> ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::reference
private

Definition at line 51 of file Dijkstra.h.

◆ visited

template<typename Graph , typename Flags = datastructure::TimestampFlags>
Flags ogdf::internal::gcm::graph::Dijkstra< Graph, Flags >::visited
private

Definition at line 49 of file Dijkstra.h.


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