pub struct Analyser<T: Literal, S: LiteralStorage<T>, const N: usize = 12> {
pub count: usize,
/* private fields */
}Expand description
Encapsulates the state and methods for performing conflict analysis.
Using a struct allows for reusing allocations (like seen and to_bump)
across multiple conflict analyses, which can improve performance.
§Type Parameters
T: The type ofLiteral.S: TheLiteralStoragetype for clauses.N: A compile-time constant for the inline capacity ofto_bumpSmallVec. Defaults to 12, a common small size for literals involved in resolution steps.
Fields§
§count: usizeA counter for the number of conflicts analysed for statistics.
Trait Implementations§
Source§impl<T: Clone + Literal, S: Clone + LiteralStorage<T>, const N: usize> Clone for Analyser<T, S, N>
impl<T: Clone + Literal, S: Clone + LiteralStorage<T>, const N: usize> Clone for Analyser<T, S, N>
Source§impl<T: Debug + Literal, S: Debug + LiteralStorage<T>, const N: usize> Debug for Analyser<T, S, N>
impl<T: Debug + Literal, S: Debug + LiteralStorage<T>, const N: usize> Debug for Analyser<T, S, N>
Source§impl<T: Default + Literal, S: Default + LiteralStorage<T>, const N: usize> Default for Analyser<T, S, N>
impl<T: Default + Literal, S: Default + LiteralStorage<T>, const N: usize> Default for Analyser<T, S, N>
Source§impl<T: Hash + Literal, S: Hash + LiteralStorage<T>, const N: usize> Hash for Analyser<T, S, N>
impl<T: Hash + Literal, S: Hash + LiteralStorage<T>, const N: usize> Hash for Analyser<T, S, N>
Source§impl<T: Ord + Literal, S: Ord + LiteralStorage<T>, const N: usize> Ord for Analyser<T, S, N>
impl<T: Ord + Literal, S: Ord + LiteralStorage<T>, const N: usize> Ord for Analyser<T, S, N>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<T: PartialEq + Literal, S: PartialEq + LiteralStorage<T>, const N: usize> PartialEq for Analyser<T, S, N>
impl<T: PartialEq + Literal, S: PartialEq + LiteralStorage<T>, const N: usize> PartialEq for Analyser<T, S, N>
Source§impl<T: PartialOrd + Literal, S: PartialOrd + LiteralStorage<T>, const N: usize> PartialOrd for Analyser<T, S, N>
impl<T: PartialOrd + Literal, S: PartialOrd + LiteralStorage<T>, const N: usize> PartialOrd for Analyser<T, S, N>
impl<T: Eq + Literal, S: Eq + LiteralStorage<T>, const N: usize> Eq for Analyser<T, S, N>
impl<T: Literal, S: LiteralStorage<T>, const N: usize> StructuralPartialEq for Analyser<T, S, N>
Auto Trait Implementations§
impl<T, S, const N: usize> Freeze for Analyser<T, S, N>where
T: Freeze,
impl<T, S, const N: usize> RefUnwindSafe for Analyser<T, S, N>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<T, S, const N: usize = 12> !Send for Analyser<T, S, N>
impl<T, S, const N: usize = 12> !Sync for Analyser<T, S, N>
impl<T, S, const N: usize> Unpin for Analyser<T, S, N>where
T: Unpin,
impl<T, S, const N: usize> UnwindSafe for Analyser<T, S, N>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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