26 #ifndef INCLUDE_BDDIJKSTRA_PGR_BDDIJKSTRA_HPP_
27 #define INCLUDE_BDDIJKSTRA_PGR_BDDIJKSTRA_HPP_
45 namespace bidirectional {
48 template <
typename G >
77 m_log <<
"pgr_bdDijkstra constructor\n";
83 m_log <<
"pgr_bdDijkstra\n";
97 typename G::EO_i out, out_end;
99 auto current_cost = node.first;
100 auto current_node = node.second;
102 for (boost::tie(out, out_end) = out_edges(current_node,
graph.graph);
103 out != out_end; ++out) {
104 auto edge_cost =
graph[*out].cost;
105 auto next_node =
graph.adjacent(current_node, *out);
109 if (edge_cost + current_cost <
forward_cost[next_node]) {
120 typename G::EI_i in, in_end;
122 auto current_cost = node.first;
123 auto current_node = node.second;
125 for (boost::tie(in, in_end) = in_edges(current_node,
graph.graph);
126 in != in_end; ++in) {
127 auto edge_cost =
graph[*in].cost;
128 auto next_node =
graph.adjacent(current_node, *in);
146 #endif // INCLUDE_BDDIJKSTRA_PGR_BDDIJKSTRA_HPP_