Struct sudoku_variants::solver::strategy::impls::CompositeStrategy[][src]

pub struct CompositeStrategy<S1: Strategy, S2: Strategy> { /* fields omitted */ }

A Strategy which uses two strategies by first applying one and then the other on the output of the first one. If any child changed the state, this strategy is defined to have changed the state aswell.

Implementations

impl<S1: Strategy, S2: Strategy> CompositeStrategy<S1, S2>[src]

pub fn new(s1: S1, s2: S2) -> CompositeStrategy<S1, S2>[src]

Creates a new composite strategy from the two children strategies.

Arguments

  • s1: The strategy which is applied first.
  • s2: The strategy which is applied second.

Trait Implementations

impl<S1: Strategy + Clone, S2: Strategy + Clone> Clone for CompositeStrategy<S1, S2>[src]

impl<S1: Strategy, S2: Strategy> Strategy for CompositeStrategy<S1, S2>[src]

Auto Trait Implementations

impl<S1, S2> RefUnwindSafe for CompositeStrategy<S1, S2> where
    S1: RefUnwindSafe,
    S2: RefUnwindSafe

impl<S1, S2> Send for CompositeStrategy<S1, S2> where
    S1: Send,
    S2: Send

impl<S1, S2> Sync for CompositeStrategy<S1, S2> where
    S1: Sync,
    S2: Sync

impl<S1, S2> Unpin for CompositeStrategy<S1, S2> where
    S1: Unpin,
    S2: Unpin

impl<S1, S2> UnwindSafe for CompositeStrategy<S1, S2> where
    S1: UnwindSafe,
    S2: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,