[−][src]Struct daggy::walker::Recursive
Recursively walks a graph using the recursive function recursive_fn
.
Implementations
impl<G, Ix, F> Recursive<G, Ix, F>
[src]
pub fn new(start: NodeIndex<Ix>, recursive_fn: F) -> Self where
Ix: IndexType,
F: FnMut(&G, NodeIndex<Ix>) -> Option<IndexPair<Ix>>,
[src]
Ix: IndexType,
F: FnMut(&G, NodeIndex<Ix>) -> Option<IndexPair<Ix>>,
Construct a new Recursive Walker starting from the node at the given index.
Trait Implementations
impl<G: Clone, Ix: Clone, F: Clone> Clone for Recursive<G, Ix, F>
[src]
impl<G: Debug, Ix: Debug, F: Debug> Debug for Recursive<G, Ix, F>
[src]
impl<G, Ix, F> Walker<G> for Recursive<G, Ix, F> where
Ix: IndexType,
F: FnMut(&G, NodeIndex<Ix>) -> Option<IndexPair<Ix>>,
[src]
Ix: IndexType,
F: FnMut(&G, NodeIndex<Ix>) -> Option<IndexPair<Ix>>,
type Index = Ix
The unsigned integer type used for node and edge indices.
fn next(&mut self, graph: &G) -> Option<IndexPair<Ix>>
[src]
fn next_edge(&mut self, graph: &G) -> Option<EdgeIndex<Self::Index>>
[src]
fn next_node(&mut self, graph: &G) -> Option<NodeIndex<Self::Index>>
[src]
fn count(self, graph: &G) -> usize where
Self: Sized,
[src]
Self: Sized,
fn last(self, graph: &G) -> Option<IndexPair<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn last_edge(self, graph: &G) -> Option<EdgeIndex<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn last_node(self, graph: &G) -> Option<NodeIndex<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn nth(self, graph: &G, n: usize) -> Option<IndexPair<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn nth_edge(self, graph: &G, n: usize) -> Option<EdgeIndex<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn nth_node(self, graph: &G, n: usize) -> Option<NodeIndex<Self::Index>> where
Self: Sized,
[src]
Self: Sized,
fn chain<O>(self, other: O) -> Chain<G, Self::Index, Self, O> where
Self: Sized,
O: Walker<G, Index = Self::Index>,
[src]
Self: Sized,
O: Walker<G, Index = Self::Index>,
fn filter<P>(self, predicate: P) -> Filter<Self, P> where
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn peekable(self) -> Peekable<G, Self::Index, Self> where
Self: Sized,
[src]
Self: Sized,
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
Self: Sized,
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn skip(self, n: usize) -> Skip<G, Self::Index, Self> where
Self: Sized,
[src]
Self: Sized,
fn take(self, n: usize) -> Take<G, Self::Index, Self> where
Self: Sized,
[src]
Self: Sized,
fn all<P>(&mut self, graph: &G, predicate: P) -> bool where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn any<P>(&mut self, graph: &G, predicate: P) -> bool where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn find<P>(&mut self, graph: &G, predicate: P) -> Option<IndexPair<Self::Index>> where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn find_edge<P>(
&mut self,
graph: &G,
predicate: P
) -> Option<EdgeIndex<Self::Index>> where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
&mut self,
graph: &G,
predicate: P
) -> Option<EdgeIndex<Self::Index>> where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn find_node<P>(
&mut self,
graph: &G,
predicate: P
) -> Option<NodeIndex<Self::Index>> where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
[src]
&mut self,
graph: &G,
predicate: P
) -> Option<NodeIndex<Self::Index>> where
P: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> bool,
fn cycle(self) -> Cycle<G, Self::Index, Self> where
Self: Clone + Sized,
[src]
Self: Clone + Sized,
fn fold<B, F>(self, init: B, graph: &G, f: F) -> B where
Self: Sized,
F: FnMut(B, &G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> B,
[src]
Self: Sized,
F: FnMut(B, &G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>) -> B,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
Self: Sized,
F: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>),
[src]
Self: Sized,
F: FnMut(&G, EdgeIndex<Self::Index>, NodeIndex<Self::Index>),
fn iter(self, graph: &G) -> Iter<'_, G, Self::Index, Self>ⓘ where
Self: Sized,
[src]
Self: Sized,
fn iter_weights(self, graph: &G) -> IterWeights<'_, G, Self::Index, Self>ⓘ where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl<G, Ix, F> RefUnwindSafe for Recursive<G, Ix, F> where
F: RefUnwindSafe,
G: RefUnwindSafe,
Ix: RefUnwindSafe,
F: RefUnwindSafe,
G: RefUnwindSafe,
Ix: RefUnwindSafe,
impl<G, Ix, F> Send for Recursive<G, Ix, F> where
F: Send,
G: Send,
Ix: Send,
F: Send,
G: Send,
Ix: Send,
impl<G, Ix, F> Sync for Recursive<G, Ix, F> where
F: Sync,
G: Sync,
Ix: Sync,
F: Sync,
G: Sync,
Ix: Sync,
impl<G, Ix, F> Unpin for Recursive<G, Ix, F> where
F: Unpin,
G: Unpin,
Ix: Unpin,
F: Unpin,
G: Unpin,
Ix: Unpin,
impl<G, Ix, F> UnwindSafe for Recursive<G, Ix, F> where
F: UnwindSafe,
G: UnwindSafe,
Ix: UnwindSafe,
F: UnwindSafe,
G: UnwindSafe,
Ix: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,