pub struct Space<VStore, CStore, Restoration> {
pub vstore: VStore,
pub cstore: CStore,
/* private fields */
}Fields§
§vstore: VStore§cstore: CStoreImplementations§
Source§impl<VStore, CStore, Restoration> Space<VStore, CStore, Restoration>where
CStore: Consistency<VStore>,
impl<VStore, CStore, Restoration> Space<VStore, CStore, Restoration>where
CStore: Consistency<VStore>,
pub fn consistency(&mut self) -> SKleene
Trait Implementations§
Source§impl<VStore, CStore, R, Domain, Bound> Distributor<Space<VStore, CStore, R>, Bound> for BinarySplitwhere
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain> + 'static,
CStore: IntCStore<VStore>,
Domain: IntDomain<Item = Bound> + 'static,
Bound: IntBound + Copy + 'static,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<VStore, CStore, R, Domain, Bound> Distributor<Space<VStore, CStore, R>, Bound> for BinarySplitwhere
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain> + 'static,
CStore: IntCStore<VStore>,
Domain: IntDomain<Item = Bound> + 'static,
Bound: IntBound + Copy + 'static,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<VStore, CStore, R, Domain, Bound> Distributor<Space<VStore, CStore, R>, Bound> for Enumeratewhere
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain> + 'static,
CStore: IntCStore<VStore>,
Domain: IntDomain<Item = Bound> + 'static,
Bound: IntBound + Copy + 'static,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<VStore, CStore, R, Domain, Bound> Distributor<Space<VStore, CStore, R>, Bound> for Enumeratewhere
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain> + 'static,
CStore: IntCStore<VStore>,
Domain: IntDomain<Item = Bound> + 'static,
Bound: IntBound + Copy + 'static,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<VStore, CStore, Restoration> Freeze for Space<VStore, CStore, Restoration>where
VStore: Freeze,
CStore: Freeze,
Restoration: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, Restoration>>,
impl<VStore, CStore, Restoration> Freeze for Space<VStore, CStore, Restoration>where
VStore: Freeze,
CStore: Freeze,
Restoration: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, Restoration>>,
type FrozenState = Restoration
fn freeze(self) -> Self::FrozenState
Source§impl<C, Bound, Dom, VStore, CStore, R> SearchTreeVisitor<Space<VStore, CStore, R>> for BranchAndBound<VStore, C>where
VStore: VStoreConcept<Item = Dom> + 'static,
CStore: IntCStore<VStore>,
Dom: IntDomain<Item = Bound> + 'static,
Bound: IntBound + 'static,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<C, Bound, Dom, VStore, CStore, R> SearchTreeVisitor<Space<VStore, CStore, R>> for BranchAndBound<VStore, C>where
VStore: VStoreConcept<Item = Dom> + 'static,
CStore: IntCStore<VStore>,
Dom: IntDomain<Item = Bound> + 'static,
Bound: IntBound + 'static,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<Var, Val, D, VStore, CStore, R, Domain, Bound> SearchTreeVisitor<Space<VStore, CStore, R>> for Brancher<Var, Val, D>where
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain>,
CStore: IntCStore<VStore>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Var: VarSelection<Space<VStore, CStore, R>>,
Val: ValSelection<Domain>,
Domain: IntDomain<Item = Bound>,
Bound: IntBound,
D: Distributor<Space<VStore, CStore, R>, Bound>,
impl<Var, Val, D, VStore, CStore, R, Domain, Bound> SearchTreeVisitor<Space<VStore, CStore, R>> for Brancher<Var, Val, D>where
VStore: VStoreConcept<Item = Domain, Location = Identity<Domain>, Output = Domain>,
CStore: IntCStore<VStore>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Var: VarSelection<Space<VStore, CStore, R>>,
Val: ValSelection<Domain>,
Domain: IntDomain<Item = Bound>,
Bound: IntBound,
D: Distributor<Space<VStore, CStore, R>, Bound>,
Source§impl<VStore, CStore, Domain, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for Debugger<C>where
VStore: VStoreConcept<Item = Domain> + Clone,
CStore: IntCStore<VStore> + DisplayStateful<(Model, VStore)>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
Domain: IsSingleton,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<VStore, CStore, Domain, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for Debugger<C>where
VStore: VStoreConcept<Item = Domain> + Clone,
CStore: IntCStore<VStore> + DisplayStateful<(Model, VStore)>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
Domain: IsSingleton,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<VStore, CStore, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for Propagation<C>where
VStore: VStoreConcept,
CStore: IntCStore<VStore>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<VStore, CStore, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for Propagation<C>where
VStore: VStoreConcept,
CStore: IntCStore<VStore>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<VStore, CStore, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for StopNode<C>where
VStore: VStoreConcept,
CStore: IntCStore<VStore>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
impl<VStore, CStore, R, C> SearchTreeVisitor<Space<VStore, CStore, R>> for StopNode<C>where
VStore: VStoreConcept,
CStore: IntCStore<VStore>,
C: SearchTreeVisitor<Space<VStore, CStore, R>>,
R: FreezeSpace<VStore, CStore> + Snapshot<State = Space<VStore, CStore, R>>,
Source§impl<VStore, CStore, R, Domain, Size> VarSelection<Space<VStore, CStore, R>> for FirstSmallestVarwhere
VStore: Iterable<Item = Domain>,
Domain: Cardinality<Size = Size>,
Size: Ord + Unsigned + Integer,
impl<VStore, CStore, R, Domain, Size> VarSelection<Space<VStore, CStore, R>> for FirstSmallestVarwhere
VStore: Iterable<Item = Domain>,
Domain: Cardinality<Size = Size>,
Size: Ord + Unsigned + Integer,
Source§impl<VStore, CStore, R, Domain, Size> VarSelection<Space<VStore, CStore, R>> for InputOrderwhere
VStore: Iterable<Item = Domain>,
Domain: Cardinality<Size = Size>,
Size: Ord + Unsigned + Integer,
impl<VStore, CStore, R, Domain, Size> VarSelection<Space<VStore, CStore, R>> for InputOrderwhere
VStore: Iterable<Item = Domain>,
Domain: Cardinality<Size = Size>,
Size: Ord + Unsigned + Integer,
Auto Trait Implementations§
impl<VStore, CStore, Restoration> Freeze for Space<VStore, CStore, Restoration>
impl<VStore, CStore, Restoration> RefUnwindSafe for Space<VStore, CStore, Restoration>
impl<VStore, CStore, Restoration> Send for Space<VStore, CStore, Restoration>
impl<VStore, CStore, Restoration> Sync for Space<VStore, CStore, Restoration>
impl<VStore, CStore, Restoration> Unpin for Space<VStore, CStore, Restoration>
impl<VStore, CStore, Restoration> UnwindSafe for Space<VStore, CStore, Restoration>
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