pub struct DFS<'a, C, O: Copy, T: FnOnce(&mut C, O), U: FnMut(&mut C, O), V: FnOnce(&C) -> bool, W: FnOnce(&C) -> X, X: IntoIterator<Item = O>> { /* private fields */ }Implementations§
Source§impl<'a, C: Debug, O: Copy, T: Copy + FnOnce(&mut C, O), U: Copy + FnMut(&mut C, O), V: Copy + FnOnce(&C) -> bool, W: Copy + FnOnce(&C) -> X, X: IntoIterator<Item = O>> DFS<'a, C, O, T, U, V, W, X>
impl<'a, C: Debug, O: Copy, T: Copy + FnOnce(&mut C, O), U: Copy + FnMut(&mut C, O), V: Copy + FnOnce(&C) -> bool, W: Copy + FnOnce(&C) -> X, X: IntoIterator<Item = O>> DFS<'a, C, O, T, U, V, W, X>
pub fn new( status: &'a mut C, forward: T, back_tracking: U, check: V, get_all_ops: W, op: O, ) -> Self
pub fn dfs<'b>(&'b mut self)where
'a: 'b,
pub fn dfs_early_stop<'b>(&'b mut self) -> boolwhere
'a: 'b,
pub fn forward<'b, 'c>(&'b mut self, op: O) -> DFS<'b, C, O, T, U, V, W, X>where
'b: 'c,
Trait Implementations§
Auto Trait Implementations§
impl<'a, C, O, T, U, V, W, X> Freeze for DFS<'a, C, O, T, U, V, W, X>
impl<'a, C, O, T, U, V, W, X> RefUnwindSafe for DFS<'a, C, O, T, U, V, W, X>where
T: RefUnwindSafe,
U: RefUnwindSafe,
V: RefUnwindSafe,
W: RefUnwindSafe,
O: RefUnwindSafe,
C: RefUnwindSafe,
impl<'a, C, O, T, U, V, W, X> Send for DFS<'a, C, O, T, U, V, W, X>
impl<'a, C, O, T, U, V, W, X> Sync for DFS<'a, C, O, T, U, V, W, X>
impl<'a, C, O, T, U, V, W, X> Unpin for DFS<'a, C, O, T, U, V, W, X>
impl<'a, C, O, T, U, V, W, X> !UnwindSafe for DFS<'a, C, O, T, U, V, W, X>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more