Graph-V2 API Reference

Concepts

template<class G>
concept vertex_range
template<class G>
concept targeted_edge
#include <graph.hpp>

Concept for a targeted edge.

A normal targeted edge has both the target_id(g,uv) and target(g,uv) function defined for it.

tparam G:

The graph type.

tparam E:

The edge type.

template<class G>
concept sourced_edge
template<class G>
concept adjacency_list
#include <graph.hpp>

Concept for an adjacency list graph.

A basic_adjacency_list list defines the minimal adjacency list concept with a vertex_id and with a vertex object.

tparam G:

The graph type.

template<class G>
concept sourced_adjacency_list
#include <graph.hpp>

Concept for an adjacency list graph.

A basic_adjacency_list list defines the minimal adjacency list concept with a vertex_id and with a vertex object. The edge type has a source_id.

tparam G:

The graph type.

template<class G>
concept has_degree
#include <graph.hpp>

Concept for the existance of degree function for graph G.

Returns true if degree(g) exists for graph G.

tparam G:

The graph type

template<class G>
concept has_find_vertex
#include <graph.hpp>

Concept for the existance of the find_vertex(g,uid) function for graph G.

Returns true if find_vertex(g,uid) exists for graph G.

tparam G:

The graph type

template<class G>
concept has_contains_edge
#include <graph.hpp>

Concept for the existance of the has_contains_edge(g,uid,vid) function for graph G.

Returns true if has_contains_edge(g,uid,vid) exists for graph G.

tparam G:

The graph type

template<class G>
concept ordered_edge
template<class G>
concept unordered_edge


Algorithms

Warning

doxygenfunction: Unable to resolve function “graph::dijkstra_shortest_distances” with arguments None in doxygen xml output for project “graph-v2” from directory: ./_doxygen/xml. Potential matches:

- template<index_adjacency_list G, input_range Sources, random_access_range Distances, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr void dijkstra_shortest_distances(G &&g, const Sources &sources, Distances &distances, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())
- template<index_adjacency_list G, random_access_range Distances, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr void dijkstra_shortest_distances(G &&g, vertex_id_t<G> source, Distances &distances, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())

Warning

doxygenfunction: Unable to resolve function “graph::dijkstra_shortest_paths” with arguments None in doxygen xml output for project “graph-v2” from directory: ./_doxygen/xml. Potential matches:

- template<index_adjacency_list G, input_range Sources, random_access_range Distances, random_access_range Predecessors, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr void dijkstra_shortest_paths(G &&g, const Sources &sources, Distances &distances, Predecessors &predecessor, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())
- template<index_adjacency_list G, random_access_range Distances, random_access_range Predecessors, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr void dijkstra_shortest_paths(G &&g, vertex_id_t<G> source, Distances &distances, Predecessors &predecessor, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())

Warning

doxygenfunction: Unable to resolve function “graph::bellman_ford_shortest_distances” with arguments None in doxygen xml output for project “graph-v2” from directory: ./_doxygen/xml. Potential matches:

- template<index_adjacency_list G, input_range Sources, random_access_range Distances, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr optional<vertex_id_t<G>> bellman_ford_shortest_distances(G &&g, const Sources &sources, Distances &distances, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())
- template<index_adjacency_list G, random_access_range Distances, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr optional<vertex_id_t<G>> bellman_ford_shortest_distances(G &&g, vertex_id_t<G> source, Distances &distances, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())

Warning

doxygenfunction: Unable to resolve function “graph::bellman_ford_shortest_paths” with arguments None in doxygen xml output for project “graph-v2” from directory: ./_doxygen/xml. Potential matches:

- template<index_adjacency_list G, input_range Sources, random_access_range Distances, random_access_range Predecessors, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr optional<vertex_id_t<G>> bellman_ford_shortest_paths(G &&g, const Sources &sources, Distances &distances, Predecessors &predecessor, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())
- template<index_adjacency_list G, random_access_range Distances, random_access_range Predecessors, class WF = function<range_value_t<Distances>(edge_reference_t<G>)>, class Visitor = empty_visitor, class Compare = less<range_value_t<Distances>>, class Combine = plus<range_value_t<Distances>>> constexpr optional<vertex_id_t<G>> bellman_ford_shortest_paths(G &&g, vertex_id_t<G> source, Distances &distances, Predecessors &predecessor, WF &&weight = [](edge_reference_t< G > uv) { return range_value_t< Distances >(1);}, Visitor &&visitor = empty_visitor(), Compare &&compare = less<range_value_t<Distances>>(), Combine &&combine = plus<range_value_t<Distances>>())


Data Structures



Views / Adaptors



Graph Construction



Graph I/O



Utilities