Struct rlifesrc_lib::search::lifesrc::LifeSrc
source · pub struct LifeSrc;
Expand description
The default algorithm based on David Bell’s lifesrc.
Trait Implementations§
source§impl<R: Rule> Algorithm<R> for LifeSrc
impl<R: Rule> Algorithm<R> for LifeSrc
§type ConflReason = ()
type ConflReason = ()
Reasons for a conflict. Ignored in
LifeSrc
algorithm.source§fn confl_from_cell(_cell: CellRef<R>) -> Self::ConflReason
fn confl_from_cell(_cell: CellRef<R>) -> Self::ConflReason
Conflict when constitifying a cell.
source§fn confl_from_sym(_cell: CellRef<R>, _sym: CellRef<R>) -> Self::ConflReason
fn confl_from_sym(_cell: CellRef<R>, _sym: CellRef<R>) -> Self::ConflReason
Conflict from symmetry.
source§fn init_front(world: World<R, Self>) -> World<R, Self>
fn init_front(world: World<R, Self>) -> World<R, Self>
Conflict when constitifying a cell.
source§fn set_cell(
world: &mut World<R, Self>,
cell: CellRef<R>,
state: State,
reason: Self::Reason
) -> Result<(), Self::ConflReason>
fn set_cell( world: &mut World<R, Self>, cell: CellRef<R>, state: State, reason: Self::Reason ) -> Result<(), Self::ConflReason>
source§fn go(world: &mut World<R, Self>, step: &mut u64) -> bool
fn go(world: &mut World<R, Self>, step: &mut u64) -> bool
Keeps proceeding and backtracking,
until there are no more cells to examine (and returns
true
),
or the backtracking goes back to the time before the first cell is set
(and returns false
). Read moresource§impl PartialEq for LifeSrc
impl PartialEq for LifeSrc
impl Copy for LifeSrc
impl Eq for LifeSrc
impl Sealed for LifeSrc
impl StructuralEq for LifeSrc
impl StructuralPartialEq for LifeSrc
Auto Trait Implementations§
impl RefUnwindSafe for LifeSrc
impl Send for LifeSrc
impl Sync for LifeSrc
impl Unpin for LifeSrc
impl UnwindSafe for LifeSrc
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