Struct recursion::recursive_tree::RecursiveTree
source · [−]pub struct RecursiveTree<Wrapped, Index> { /* private fields */ }
Expand description
A recursive structure with layers of partially-applied type Layer
,
where Index
is the type that Layer
is parameterized over and Wrapped
is Layer<Index>
Stored as a flat vector of layers in topological order.
Implementations
sourceimpl<'a, F, U> RecursiveTree<F, U>
impl<'a, F, U> RecursiveTree<F, U>
pub fn as_ref(&'a self) -> RecursiveTreeRef<'a, F, U>
Trait Implementations
sourceimpl<A, O, U: MapLayer<A, To = O, Unwrapped = StackMarker>> Collapse<A, O> for RecursiveTree<U, StackMarker>
impl<A, O, U: MapLayer<A, To = O, Unwrapped = StackMarker>> Collapse<A, O> for RecursiveTree<U, StackMarker>
fn collapse_layers<F: FnMut(O) -> A>(self, collapse_layer: F) -> A
sourceimpl<A, Wrapped, Underlying> Collapse<A, Wrapped> for RecursiveTree<Underlying, ArenaIndex>where
Underlying: MapLayer<A, To = Wrapped, Unwrapped = ArenaIndex>,
impl<A, Wrapped, Underlying> Collapse<A, Wrapped> for RecursiveTree<Underlying, ArenaIndex>where
Underlying: MapLayer<A, To = Wrapped, Unwrapped = ArenaIndex>,
fn collapse_layers<F: FnMut(Wrapped) -> A>(self, collapse_layer: F) -> A
sourceimpl<A, U, O: MapLayer<StackMarker, Unwrapped = A, To = U>> Expand<A, O> for RecursiveTree<U, StackMarker>
impl<A, U, O: MapLayer<StackMarker, Unwrapped = A, To = U>> Expand<A, O> for RecursiveTree<U, StackMarker>
fn expand_layers<F: Fn(A) -> O>(a: A, generate_layer: F) -> Self
sourceimpl<A, Underlying, Wrapped> Expand<A, Wrapped> for RecursiveTree<Underlying, ArenaIndex>where
Wrapped: MapLayer<ArenaIndex, Unwrapped = A, To = Underlying>,
impl<A, Underlying, Wrapped> Expand<A, Wrapped> for RecursiveTree<Underlying, ArenaIndex>where
Wrapped: MapLayer<ArenaIndex, Unwrapped = A, To = Underlying>,
fn expand_layers<F: Fn(A) -> Wrapped>(a: A, expand_layer: F) -> Self
sourceimpl<A, U: Send, O: MapLayer<ArenaIndex, Unwrapped = A, To = U>> ExpandAsync<A, O> for RecursiveTree<U, ArenaIndex>
impl<A, U: Send, O: MapLayer<ArenaIndex, Unwrapped = A, To = U>> ExpandAsync<A, O> for RecursiveTree<U, ArenaIndex>
Auto Trait Implementations
impl<Wrapped, Index> RefUnwindSafe for RecursiveTree<Wrapped, Index>where
Index: RefUnwindSafe,
Wrapped: RefUnwindSafe,
impl<Wrapped, Index> Send for RecursiveTree<Wrapped, Index>where
Index: Send,
Wrapped: Send,
impl<Wrapped, Index> Sync for RecursiveTree<Wrapped, Index>where
Index: Sync,
Wrapped: Sync,
impl<Wrapped, Index> Unpin for RecursiveTree<Wrapped, Index>where
Index: Unpin,
Wrapped: Unpin,
impl<Wrapped, Index> UnwindSafe for RecursiveTree<Wrapped, Index>where
Index: UnwindSafe,
Wrapped: 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