Enum rustworkx_core::traversal::DijkstraEvent
source · pub enum DijkstraEvent<N, E, K> {
Discover(N, K),
ExamineEdge(N, N, E),
EdgeRelaxed(N, N, E),
EdgeNotRelaxed(N, N, E),
Finish(N),
}Expand description
A dijkstra search visitor event.
Variants
Discover(N, K)
This is invoked when a vertex is encountered for the first time and it’s popped from the queue. Together with the node, we report the optimal distance of the node.
ExamineEdge(N, N, E)
This is invoked on every out-edge of each vertex after it is discovered.
EdgeRelaxed(N, N, E)
Upon examination, if the distance of the target of the edge is reduced, this event is emitted.
EdgeNotRelaxed(N, N, E)
Upon examination, if the edge is not relaxed, this event is emitted.
Finish(N)
All edges from a node have been reported.
Trait Implementations
sourceimpl<N: Clone, E: Clone, K: Clone> Clone for DijkstraEvent<N, E, K>
impl<N: Clone, E: Clone, K: Clone> Clone for DijkstraEvent<N, E, K>
sourcefn clone(&self) -> DijkstraEvent<N, E, K>
fn clone(&self) -> DijkstraEvent<N, E, K>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<N: Copy, E: Copy, K: Copy> Copy for DijkstraEvent<N, E, K>
Auto Trait Implementations
impl<N, E, K> RefUnwindSafe for DijkstraEvent<N, E, K>where
E: RefUnwindSafe,
K: RefUnwindSafe,
N: RefUnwindSafe,
impl<N, E, K> Send for DijkstraEvent<N, E, K>where
E: Send,
K: Send,
N: Send,
impl<N, E, K> Sync for DijkstraEvent<N, E, K>where
E: Sync,
K: Sync,
N: Sync,
impl<N, E, K> Unpin for DijkstraEvent<N, E, K>where
E: Unpin,
K: Unpin,
N: Unpin,
impl<N, E, K> UnwindSafe for DijkstraEvent<N, E, K>where
E: UnwindSafe,
K: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more