Add/Remove operations#

Adding and removings edges#

with_edges(network, edges)#
template<network_edge EdgeT, std::ranges::input_range EdgeRange>
requires std::same_as<std::ranges::range_value_t<EdgeRange>, EdgeT>
network<EdgeT> with_edges(const network<EdgeT> &net, EdgeRange &&edges)#

Returns a copy of net with edges from edges along with all their incident vertices added in.

without_edges(network, edges)#
template<network_edge EdgeT, std::ranges::input_range EdgeRange>
requires std::same_as<std::ranges::range_value_t<EdgeRange>, EdgeT>
network<EdgeT> without_edges(const network<EdgeT> &net, EdgeRange &&edges)#

Returns a copy of net with edges from edges removed. The returned graph has all the vertices of the original graph.

Adding and removing vertices#

with_vertices(network, verts)#
template<network_edge EdgeT, std::ranges::input_range VertRange>
requires std::same_as<std::ranges::range_value_t<VertRange>, EdgeT::VetexType>
network<EdgeT> with_vertices(const network<EdgeT> &net, VertRange &&verts)#

Returns a copy of net with vertices from verts added in.

without_vertices(network, verts)#
template<network_edge EdgeT, std::ranges::input_range VertRange>
requires std::same_as<std::ranges::range_value_t<VertRange>, EdgeT::VetexType>
network<EdgeT> without_vertices(const network<EdgeT> &net, VertRange &&verts)#

Returns a copy of net with vertices from verts, along with all their incident edges removed.