PGROUTING  3.2
pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init Class Reference

class for stopping when a distance/cost has being surpassed More...

Inheritance diagram for pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init:
Collaboration diagram for pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init:

Public Member Functions

 dijkstra_distance_visitor_no_init (std::ostringstream &p_log, V source, double distance_goal, std::vector< V > &predecessors, std::vector< double > &distances, std::vector< boost::default_color_type > &color_map)
 
template<class B_G >
void discover_vertex (V u, B_G &)
 
template<class B_G >
void edge_not_relaxed (E e, B_G &g)
 
template<class B_G >
void edge_relaxed (E, B_G &)
 
template<class B_G >
void examine_edge (E e, B_G &g)
 
template<class B_G >
void examine_vertex (V u, B_G &)
 
template<class B_G >
void finish_vertex (V, B_G &)
 

Private Attributes

V first
 
std::ostringstream & log
 
std::vector< boost::default_color_type > & m_color
 
std::vector< double > & m_dist
 
double m_distance_goal
 
size_t m_num_examined
 
std::vector< V > & m_predecessors
 

Detailed Description

template<class G>
class pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init

class for stopping when a distance/cost has being surpassed

Definition at line 814 of file pgr_dijkstra.hpp.

Constructor & Destructor Documentation

◆ dijkstra_distance_visitor_no_init()

template<class G >
pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::dijkstra_distance_visitor_no_init ( std::ostringstream &  p_log,
V  source,
double  distance_goal,
std::vector< V > &  predecessors,
std::vector< double > &  distances,
std::vector< boost::default_color_type > &  color_map 
)
inlineexplicit

Member Function Documentation

◆ discover_vertex()

template<class G >
template<class B_G >
void pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::discover_vertex ( V  u,
B_G &   
)
inline

◆ edge_not_relaxed()

template<class G >
template<class B_G >
void pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::edge_not_relaxed ( E  e,
B_G &  g 
)
inline

Definition at line 862 of file pgr_dijkstra.hpp.

862  {
863  if (source(e, g) != first
864  && m_predecessors[source(e, g)] == source(e, g)) {
865  m_color[target(e, g)] = boost::black_color;
866  }
867  }

References pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::first, pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::m_color, and pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::m_predecessors.

◆ edge_relaxed()

template<class G >
template<class B_G >
void pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::edge_relaxed ( E  ,
B_G &   
)
inline

Definition at line 856 of file pgr_dijkstra.hpp.

856  {
857  }

◆ examine_edge()

template<class G >
template<class B_G >
void pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::examine_edge ( E  e,
B_G &  g 
)
inline

Definition at line 847 of file pgr_dijkstra.hpp.

847  {
848  if (source(e, g) != first
849  && m_predecessors[source(e, g)] == source(e, g)) {
850  m_color[target(e, g)] = boost::black_color;
851  }
852  }

References pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::first, pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::m_color, and pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::m_predecessors.

◆ examine_vertex()

◆ finish_vertex()

template<class G >
template<class B_G >
void pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::finish_vertex ( V  ,
B_G &   
)
inline

Definition at line 871 of file pgr_dijkstra.hpp.

871  {
872  }

Member Data Documentation

◆ first

◆ log

template<class G >
std::ostringstream& pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::log
private

Definition at line 883 of file pgr_dijkstra.hpp.

◆ m_color

◆ m_dist

template<class G >
std::vector< double >& pgrouting::Pgr_dijkstra< G >::dijkstra_distance_visitor_no_init::m_dist
private

◆ m_distance_goal

◆ m_num_examined

◆ m_predecessors


The documentation for this class was generated from the following file:
pgrouting::Pgr_dijkstra::predecessors
std::vector< V > predecessors
Definition: pgr_dijkstra.hpp:740
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::m_color
std::vector< boost::default_color_type > & m_color
Definition: pgr_dijkstra.hpp:889
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::m_num_examined
size_t m_num_examined
Definition: pgr_dijkstra.hpp:886
pgassert
#define pgassert(expr)
Uses the standard assert syntax.
Definition: pgr_assert.h:94
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::m_dist
std::vector< double > & m_dist
Definition: pgr_dijkstra.hpp:888
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::m_predecessors
std::vector< V > & m_predecessors
Definition: pgr_dijkstra.hpp:887
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::m_distance_goal
double m_distance_goal
Definition: pgr_dijkstra.hpp:885
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::first
V first
Definition: pgr_dijkstra.hpp:884
pgrouting::Pgr_dijkstra::dijkstra_distance_visitor_no_init::log
std::ostringstream & log
Definition: pgr_dijkstra.hpp:883
pgrouting::Pgr_dijkstra::distances
std::vector< double > distances
Definition: pgr_dijkstra.hpp:741