Struct rs_graph::maxflow::pushrelabel::PushRelabel [−][src]
pub struct PushRelabel<'a, G, F> where
G: 'a + IndexDigraph<'a>, { pub cnt_relabel: usize, pub use_global_relabelling: bool, // some fields omitted }
The push-relabel algorithm.
This struct contains all algorithmic working data.
Fields
cnt_relabel: usizeThe number of relabel operations performed during the algorithm.
use_global_relabelling: boolWhether to use the global relabelling heuristic.
Trait Implementations
impl<'a, G, F> MaxFlow<'a> for PushRelabel<'a, G, F> where
G: IndexDigraph<'a>,
F: NumAssign + Ord + Copy, [src]
impl<'a, G, F> MaxFlow<'a> for PushRelabel<'a, G, F> where
G: IndexDigraph<'a>,
F: NumAssign + Ord + Copy, [src]fn value(&self) -> F[src]
fn value(&self) -> F[src]Return the flow value.
The function returns 0 if the flow has not been computed, yet.
fn flow(&self, e: G::Edge) -> F[src]
fn flow(&self, e: G::Edge) -> F[src]Return the flow value over some edge.
The function returns 0 if the flow has not been computed, yet.
Auto Trait Implementations
impl<'a, G, F> RefUnwindSafe for PushRelabel<'a, G, F> where
F: RefUnwindSafe,
G: RefUnwindSafe,
<G as GraphType<'a>>::Edge: RefUnwindSafe,
<G as Directed<'a>>::IncidentIt: RefUnwindSafe,
<G as GraphType<'a>>::Node: RefUnwindSafe,
F: RefUnwindSafe,
G: RefUnwindSafe,
<G as GraphType<'a>>::Edge: RefUnwindSafe,
<G as Directed<'a>>::IncidentIt: RefUnwindSafe,
<G as GraphType<'a>>::Node: RefUnwindSafe,
impl<'a, G, F> Send for PushRelabel<'a, G, F> where
F: Send,
G: Sync,
<G as GraphType<'a>>::Edge: Send,
<G as Directed<'a>>::IncidentIt: Send,
<G as GraphType<'a>>::Node: Send,
F: Send,
G: Sync,
<G as GraphType<'a>>::Edge: Send,
<G as Directed<'a>>::IncidentIt: Send,
<G as GraphType<'a>>::Node: Send,
impl<'a, G, F> Sync for PushRelabel<'a, G, F> where
F: Sync,
G: Sync,
<G as GraphType<'a>>::Edge: Sync,
<G as Directed<'a>>::IncidentIt: Sync,
<G as GraphType<'a>>::Node: Sync,
F: Sync,
G: Sync,
<G as GraphType<'a>>::Edge: Sync,
<G as Directed<'a>>::IncidentIt: Sync,
<G as GraphType<'a>>::Node: Sync,
impl<'a, G, F> Unpin for PushRelabel<'a, G, F> where
F: Unpin,
<G as GraphType<'a>>::Edge: Unpin,
<G as Directed<'a>>::IncidentIt: Unpin,
<G as GraphType<'a>>::Node: Unpin,
F: Unpin,
<G as GraphType<'a>>::Edge: Unpin,
<G as Directed<'a>>::IncidentIt: Unpin,
<G as GraphType<'a>>::Node: Unpin,
impl<'a, G, F> UnwindSafe for PushRelabel<'a, G, F> where
F: UnwindSafe,
G: RefUnwindSafe,
<G as GraphType<'a>>::Edge: UnwindSafe,
<G as Directed<'a>>::IncidentIt: UnwindSafe,
<G as GraphType<'a>>::Node: UnwindSafe,
F: UnwindSafe,
G: RefUnwindSafe,
<G as GraphType<'a>>::Edge: UnwindSafe,
<G as Directed<'a>>::IncidentIt: UnwindSafe,
<G as GraphType<'a>>::Node: UnwindSafe,