Struct rs_graph::adapters::network::Network [−][src]
pub struct Network<'a, G>(_);
The network graph adaptor.
It is meant to be used by borrowing the underlying graph.
let g = classes::cycle::<LinkedListGraph>(5); let n = Network::new(&g);
The network inherits all trait implementations from the underlying graph. In
particular, if the underlying graph implements IndexGraph then nodes and
edges of the network are numbered, too:
- The
node_idis the same as in the underlying graph, - the edge with id
iis mapped to the edges2*i(forward edge) and2*i+1(backward edge).
Implementations
Trait Implementations
impl<'a, 'g: 'a, G> Directed<'a> for Network<'g, G> where
G: Digraph<'g>, [src]
impl<'a, 'g: 'a, G> Directed<'a> for Network<'g, G> where
G: Digraph<'g>, [src]type OutIt = NetworkOutIt<G::IncidentIt>
type OutIt = NetworkOutIt<G::IncidentIt>Type of a graph iterator over edges leaving a node.
type InIt = NetworkInIt<G::IncidentIt>
type InIt = NetworkInIt<G::IncidentIt>Type of a graph iterator over edges entering a node.
type IncidentIt = NetworkIncidentIt<G::IncidentIt, (G::DirectedEdge, G::Node)>
type IncidentIt = NetworkIncidentIt<G::IncidentIt, (G::DirectedEdge, G::Node)>Type of an iterator over all incident edges.
type DirectedEdge = NetworkDirectedEdge<Self::Edge>
type DirectedEdge = NetworkDirectedEdge<Self::Edge>Type of a directed edge.
fn out_iter(&self, u: Self::Node) -> Self::OutIt[src]
fn out_iter(&self, u: Self::Node) -> Self::OutIt[src]Return a graph iterator over the edges leaving a node.
fn in_iter(&self, u: Self::Node) -> Self::InIt[src]
fn in_iter(&self, u: Self::Node) -> Self::InIt[src]Return a graph iterator over the edges leaving a node.
fn incident_iter(&self, u: Self::Node) -> Self::IncidentIt[src]
fn incident_iter(&self, u: Self::Node) -> Self::IncidentIt[src]Return an iterator over all directed edges incident with a node.
fn outedges(&'a self, u: Self::Node) -> GraphIter<'a, Self, Self::OutIt>ⓘ where
Self: Sized, [src]
fn outedges(&'a self, u: Self::Node) -> GraphIter<'a, Self, Self::OutIt>ⓘ where
Self: Sized, [src]Return an iterator over the edges leaving a node.
fn outgoing(&'a self) -> OutEdges<'a, Self> where
Self: Sized, [src]
fn outgoing(&'a self) -> OutEdges<'a, Self> where
Self: Sized, [src]Return access to the outgoing arcs via an Adjacencies trait. Read more
fn inedges(&'a self, u: Self::Node) -> GraphIter<'a, Self, Self::InIt>ⓘ where
Self: Sized, [src]
fn inedges(&'a self, u: Self::Node) -> GraphIter<'a, Self, Self::InIt>ⓘ where
Self: Sized, [src]Return an iterator over the edges leaving a node.
fn incoming(&'a self) -> InEdges<'a, Self> where
Self: Sized, [src]
fn incoming(&'a self) -> InEdges<'a, Self> where
Self: Sized, [src]Return access to the incoming arcs via an Adjacencies trait. Read more
fn incident_edges(
&'a self,
u: Self::Node
) -> GraphIter<'a, Self, Self::IncidentIt>ⓘ where
Self: Sized, [src]
fn incident_edges(
&'a self,
u: Self::Node
) -> GraphIter<'a, Self, Self::IncidentIt>ⓘ where
Self: Sized, [src]Return an iterator over all directed edges incident with a node.
impl<'a, G> DirectedRef<'a> for Network<'a, G> where
G: 'a + Directed<'a>, [src]
impl<'a, G> DirectedRef<'a> for Network<'a, G> where
G: 'a + Directed<'a>, [src]impl<'a, G, I> GraphIterator<Network<'a, G>> for NetworkNodeIt<I> where
I: GraphIterator<G>, [src]
impl<'a, G, I> GraphIterator<Network<'a, G>> for NetworkNodeIt<I> where
I: GraphIterator<G>, [src]impl<'a, G, I> GraphIterator<Network<'a, G>> for NetworkEdgeIt<G, I> where
I: GraphIterator<G>,
I::Item: Clone, [src]
impl<'a, G, I> GraphIterator<Network<'a, G>> for NetworkEdgeIt<G, I> where
I: GraphIterator<G>,
I::Item: Clone, [src]impl<'a, G, I, N, E> GraphIterator<Network<'a, G>> for NetworkNeighIt<G, I> where
N: Clone,
E: Clone,
I: GraphIterator<G, Item = (E, N)>, [src]
impl<'a, G, I, N, E> GraphIterator<Network<'a, G>> for NetworkNeighIt<G, I> where
N: Clone,
E: Clone,
I: GraphIterator<G, Item = (E, N)>, [src]impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkOutIt<I> where
I: GraphIterator<G, Item = (D, N)>,
D: DirectedEdge, [src]
impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkOutIt<I> where
I: GraphIterator<G, Item = (D, N)>,
D: DirectedEdge, [src]type Item = (NetworkEdge<D::Edge>, N)
fn next(&mut self, net: &Network<'a, G>) -> Option<Self::Item>[src]
fn size_hint(&self, net: &Network<'a, G>) -> (usize, Option<usize>)[src]
fn count(self, net: &Network<'a, G>) -> usize[src]
fn iter<'a>(self, g: &'a G) -> GraphIter<'a, G, Self>ⓘ where
G: Sized, [src]
G: Sized,
impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkInIt<I> where
I: GraphIterator<G, Item = (D, N)>,
D: DirectedEdge, [src]
impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkInIt<I> where
I: GraphIterator<G, Item = (D, N)>,
D: DirectedEdge, [src]type Item = (NetworkEdge<D::Edge>, N)
fn next(&mut self, net: &Network<'a, G>) -> Option<Self::Item>[src]
fn size_hint(&self, net: &Network<'a, G>) -> (usize, Option<usize>)[src]
fn count(self, net: &Network<'a, G>) -> usize[src]
fn iter<'a>(self, g: &'a G) -> GraphIter<'a, G, Self>ⓘ where
G: Sized, [src]
G: Sized,
impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkIncidentIt<I, I::Item> where
I: GraphIterator<G, Item = (D, N)>,
N: Clone,
D: DirectedEdge + Clone, [src]
impl<'a, G, I, N, D> GraphIterator<Network<'a, G>> for NetworkIncidentIt<I, I::Item> where
I: GraphIterator<G, Item = (D, N)>,
N: Clone,
D: DirectedEdge + Clone, [src]type Item = (NetworkDirectedEdge<NetworkEdge<D::Edge>>, N)
fn next(&mut self, net: &Network<'a, G>) -> Option<Self::Item>[src]
fn size_hint(&self, net: &Network<'a, G>) -> (usize, Option<usize>)[src]
fn count(self, net: &Network<'a, G>) -> usize[src]
fn iter<'a>(self, g: &'a G) -> GraphIter<'a, G, Self>ⓘ where
G: Sized, [src]
G: Sized,
impl<'a, 'g: 'a, G> GraphSize<'a> for Network<'g, G> where
G: Digraph<'g>, [src]
impl<'a, 'g: 'a, G> GraphSize<'a> for Network<'g, G> where
G: Digraph<'g>, [src]type NodeIt = NetworkNodeIt<G::NodeIt>
type NodeIt = NetworkNodeIt<G::NodeIt>Type of an iterator over all nodes.
type EdgeIt = NetworkEdgeIt<G, G::EdgeIt>
type EdgeIt = NetworkEdgeIt<G, G::EdgeIt>Type of an iterator over all edges.
fn nodes_iter(&self) -> Self::NodeIt[src]
fn nodes_iter(&self) -> Self::NodeIt[src]Return a graph iterator over all nodes.
fn edges_iter(&self) -> Self::EdgeIt[src]
fn edges_iter(&self) -> Self::EdgeIt[src]Return a graph iterator over all edges. Read more
fn nodes(&'a self) -> NodeIterator<'a, Self> where
Self: Sized, [src]
fn nodes(&'a self) -> NodeIterator<'a, Self> where
Self: Sized, [src]Return an iterator over all nodes.
fn edges(&'a self) -> EdgeIterator<'a, Self> where
Self: Sized, [src]
fn edges(&'a self) -> EdgeIterator<'a, Self> where
Self: Sized, [src]Return an iterator over all edges. Read more
impl<'a, G> GraphSizeRef<'a> for Network<'a, G> where
G: Directed<'a>, [src]
impl<'a, G> GraphSizeRef<'a> for Network<'a, G> where
G: Directed<'a>, [src]impl<'a, 'g: 'a, G> IndexGraph<'a> for Network<'g, G> where
G: Digraph<'g> + IndexGraph<'g>, [src]
impl<'a, 'g: 'a, G> IndexGraph<'a> for Network<'g, G> where
G: Digraph<'g> + IndexGraph<'g>, [src]impl<'a, G> IndexGraphRef<'a> for Network<'a, G> where
G: Directed<'a> + IndexGraph<'a>, [src]
impl<'a, G> IndexGraphRef<'a> for Network<'a, G> where
G: Directed<'a> + IndexGraph<'a>, [src]impl<'a, 'g: 'a, G> Undirected<'a> for Network<'g, G> where
G: Digraph<'g>, [src]
impl<'a, 'g: 'a, G> Undirected<'a> for Network<'g, G> where
G: Digraph<'g>, [src]type NeighIt = NetworkNeighIt<G, G::NeighIt>
type NeighIt = NetworkNeighIt<G, G::NeighIt>Type of a graph iterator over all incident edges.
fn enodes(&self, e: Self::Edge) -> (Self::Node, Self::Node)[src]
fn enodes(&self, e: Self::Edge) -> (Self::Node, Self::Node)[src]Return the nodes connected by an edge. Read more
fn neigh_iter(&self, u: Self::Node) -> Self::NeighIt[src]
fn neigh_iter(&self, u: Self::Node) -> Self::NeighIt[src]Return a graph iterator over the edges adjacent to some node.
impl<'a, G> UndirectedRef<'a> for Network<'a, G> where
G: Directed<'a>, [src]
impl<'a, G> UndirectedRef<'a> for Network<'a, G> where
G: Directed<'a>, [src]impl<'a, G: Copy> Copy for Network<'a, G>[src]
Auto Trait Implementations
impl<'a, G> RefUnwindSafe for Network<'a, G> where
G: RefUnwindSafe,
G: RefUnwindSafe,
impl<'a, G> Send for Network<'a, G> where
G: Sync,
G: Sync,
impl<'a, G> Sync for Network<'a, G> where
G: Sync,
G: Sync,
impl<'a, G> Unpin for Network<'a, G>
impl<'a, G> UnwindSafe for Network<'a, G> where
G: RefUnwindSafe,
G: RefUnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<'a, G> Digraph<'a> for G where
G: GraphSize<'a> + Directed<'a>, [src]
G: GraphSize<'a> + Directed<'a>,
impl<'a, G> Graph<'a> for G where
G: GraphSize<'a> + Undirected<'a>, [src]
G: GraphSize<'a> + Undirected<'a>,
impl<'a, T> IndexDigraph<'a> for T where
T: IndexGraph<'a> + Digraph<'a>, [src]
T: IndexGraph<'a> + Digraph<'a>,