pub struct Partition { /* private fields */ }Expand description
Set partition of terms.
Implementations§
Source§impl Partition
impl Partition
Sourcepub fn get_equalities(&self) -> Vec<Equality>
pub fn get_equalities(&self) -> Vec<Equality>
Get all equalities implied by this partition.
Sourcepub fn num_classes(&self) -> usize
pub fn num_classes(&self) -> usize
Get number of non-empty classes.
Sourcepub fn are_equal(&self, t1: TermId, t2: TermId) -> bool
pub fn are_equal(&self, t1: TermId, t2: TermId) -> bool
Check if two terms are in the same class.
Sourcepub fn get_representative(&self, term: TermId) -> Option<TermId>
pub fn get_representative(&self, term: TermId) -> Option<TermId>
Get representative for a term.
Sourcepub fn get_class(&self, term: TermId) -> Option<&FxHashSet<TermId>>
pub fn get_class(&self, term: TermId) -> Option<&FxHashSet<TermId>>
Get all terms in the same class as a term.
Sourcepub fn clone_partition(&self) -> Partition
pub fn clone_partition(&self) -> Partition
Clone partition.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Partition
impl RefUnwindSafe for Partition
impl Send for Partition
impl Sync for Partition
impl Unpin for Partition
impl UnwindSafe for Partition
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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