Additions to Boost namespace for BGL compatibility of custom graph classes. More...
Functions | |
| template<typename VertexDescriptor , class DistanceMap , class PredecessorMap , class ColorMap > | |
| void | gor1_scan_helper (const VertexDescriptor &vertex, const VertexDescriptor &targetVertex, const double vertexDistance, const double edgeWeight, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map, std::stack< VertexDescriptor > &B) |
| template<typename VertexDescriptor , class IncidenceGraph , class DistanceMap , class PredecessorMap , class ColorMap > | |
| std::enable_if_t< std::is_same< IncidenceGraph, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph >::value, void > | gor1_ig_scan (const VertexDescriptor &vertex, const IncidenceGraph &graph, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map, std::stack< VertexDescriptor > &B) |
| template<class IncidenceGraph , class DistanceMap , class PredecessorMap , class ColorMap , typename VertexDescriptor > | |
| std::enable_if_t< std::is_same< IncidenceGraph, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph >::value, bool > | gor1_ig_shortest_paths (const IncidenceGraph &graph, const VertexDescriptor &root_vertex, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map) |
| template<typename VertexDescriptor , class GraphClass , class DistanceMap , class PredecessorMap , class ColorMap > | |
| void | gor1_eg_scan (const VertexDescriptor &vertex, const GraphClass &graphWrapper, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map, std::stack< VertexDescriptor > &B) |
| template<class GraphClass , class DistanceMap , class PredecessorMap , class ColorMap , typename VertexDescriptor > | |
| std::enable_if_t< std::is_same< GraphClass, Scine::Molassembler::DistanceGeometry::ExplicitBoundsGraph >::value, bool > | gor1_eg_shortest_paths (const GraphClass &graphWrapper, const VertexDescriptor &root_vertex, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map) |
| std::pair< Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::vertex_iterator, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::vertex_iterator > | vertices (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor | num_vertices (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| std::pair< Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::edge_iterator, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::edge_iterator > | edges (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor | num_edges (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor | source (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor &e, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor | target (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor &e, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| std::pair< Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor, bool > | edge (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor &u, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor &v, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeWeightMap | get (const boost::edge_weight_t &, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeWeightMap | get (const boost::edge_weight_t &, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| double | get (const boost::edge_weight_t &p, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor &x) |
| double | get (const boost::edge_weight_t &p, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor &x) |
| void | put (const boost::edge_weight_t &, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::EdgeDescriptor &, double) |
| Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexIndexMap | get (const boost::vertex_index_t &, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &) |
| std::pair< Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::edge_iterator, Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::edge_iterator > | out_edges (const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph::VertexDescriptor &u, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| unsigned long | out_degree (const unsigned long &u, const Scine::Molassembler::DistanceGeometry::ImplicitBoundsGraph &g) |
| template<class IncidenceGraph , class DistanceMap , class PredecessorMap , class ColorMap , class Visitor , typename VertexDescriptor > | |
| bool | gor1_simplified_shortest_paths (const IncidenceGraph &graph, const VertexDescriptor &root_vertex, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map, Visitor &visitor) |
| Simplified GOR1 single source shortest paths algorithm. More... | |
| template<class IncidenceGraph , class DistanceMap , class PredecessorMap , class ColorMap , typename VertexDescriptor > | |
| bool | gor1_simplified_shortest_paths (const IncidenceGraph &graph, const VertexDescriptor &root_vertex, PredecessorMap &predecessor_map, ColorMap &color_map, DistanceMap &distance_map) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Additions to Boost namespace for BGL compatibility of custom graph classes.
| bool boost::gor1_simplified_shortest_paths | ( | const IncidenceGraph & | graph, |
| const VertexDescriptor & | root_vertex, | ||
| PredecessorMap & | predecessor_map, | ||
| ColorMap & | color_map, | ||
| DistanceMap & | distance_map, | ||
| Visitor & | visitor | ||
| ) |
Simplified GOR1 single source shortest paths algorithm.
Implements the algorithm described in
Reference C implementation in
Complexity \(\Theta(V E)\)
| IncidenceGraph | Type modeling Boost's IncidenceGraph concept |
| DistanceMap | Type mapping vertex descriptors to distance |
| PredecessorMap | Type mapping vertex descriptors to their predecessor vertex |
| ColorMap | Type mapping vertex descriptors to a color |
| Visitor | Type that performs event visitation operations |
| VertexDescriptor | Type of the Graph's vertex descriptor |
| graph | The graph that vertex is contained in |
| root_vertex | The source vertex from which shortest distances are to be calculated |
| predecessor_map | The map of vertices to their predecessors |
| color_map | The map of vertices to their color |
| distance_map | The map of vertices to their distance |
| visitor | A visitor that matches the DummyGor1Visitor interface |