Struct CachedSolverProvider
pub struct CachedSolverProvider<C: SolverCache, I: SolverProvider> { /* private fields */ }
Expand description
A solver provider that returns CachedSolver
s.
Implementations§
§impl<C: SolverCache, I: SolverProvider> CachedSolverProvider<C, I>
impl<C: SolverCache, I: SolverProvider> CachedSolverProvider<C, I>
pub fn new(cache: C, inner: I) -> Self
pub fn new(cache: C, inner: I) -> Self
See CachedSolver
.
Trait Implementations§
§impl<C: SolverCache + Send + Sync + Copy, I: SolverProvider> SolverProvider for CachedSolverProvider<C, I>where
for<'a> I::Solver<'a>: 'a,
impl<C: SolverCache + Send + Sync + Copy, I: SolverProvider> SolverProvider for CachedSolverProvider<C, I>where
for<'a> I::Solver<'a>: 'a,
§type Solver<'a> = CachedSolver<'a, <I as SolverProvider>::Solver<'a>, C>
type Solver<'a> = CachedSolver<'a, <I as SolverProvider>::Solver<'a>, C>
The solver that this type provides.
§fn with_solver<T>(&self, f: impl FnOnce(Self::Solver<'_>) -> T) -> T
fn with_solver<T>(&self, f: impl FnOnce(Self::Solver<'_>) -> T) -> T
Runs the function
f
with a provided solver.Auto Trait Implementations§
impl<C, I> Freeze for CachedSolverProvider<C, I>
impl<C, I> RefUnwindSafe for CachedSolverProvider<C, I>where
C: RefUnwindSafe,
I: RefUnwindSafe,
impl<C, I> Send for CachedSolverProvider<C, I>where
C: Send,
impl<C, I> Sync for CachedSolverProvider<C, I>where
C: Sync,
impl<C, I> Unpin for CachedSolverProvider<C, I>
impl<C, I> UnwindSafe for CachedSolverProvider<C, I>where
C: UnwindSafe,
I: UnwindSafe,
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
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more