Class Graph

Inheritance Relationships

Derived Type

Class Documentation

class Graph

Subclassed by f2c::types::Graph2D

Public Functions

Graph &addDirectedEdge(size_t from, size_t to, int64_t cost)
Graph &addEdge(size_t i, size_t j, int64_t cost)
Graph &removeDirectedEdge(size_t from, size_t to)
Graph &removeEdge(size_t i, size_t j)
size_t numNodes() const
size_t numEdges() const
map_to_map_to_int getEdges() const
std::vector<size_t> getEdgesFrom(size_t s) const
int64_t getCostFromEdge(size_t from, size_t to, int64_t INF = 1e15) const
std::vector<std::vector<size_t>> allPathsBetween(size_t from, size_t to) const
std::vector<std::vector<pair_vec_size__int>> shortestPathsAndCosts(int64_t INF = 1e15)
std::vector<size_t> shortestPath(size_t from, size_t to, int64_t INF = 1e15)
int64_t shortestPathCost(size_t from, size_t to, int64_t INF = 1e15)

Protected Functions

void DFS(size_t from, size_t to, std::vector<std::vector<size_t>> &routes, std::vector<bool> &visited, int &route_index) const

Protected Attributes

map_to_map_to_int edges_
std::vector<std::vector<pair_vec_size__int>> shortest_paths_