pub struct Clause { /* private fields */ }Expand description
A conjunction of literal matchers
Implementations§
Source§impl Clause
impl Clause
pub fn with_literal(key: Key) -> Self
pub fn with_literals(keys: impl IntoIterator<Item = Key>) -> Self
pub fn is_empty(&self) -> bool
pub fn first(&self) -> Option<Key>
pub fn is_subset(&self, other: &Clause) -> bool
pub fn is_strict_subset(&self, other: &Clause) -> bool
pub fn elements(&self) -> &BTreeSet<Key>
pub fn union(&self, other: &Clause) -> Clause
pub fn specificity(&self) -> Specificity
pub fn len(&self) -> usize
Trait Implementations§
Source§impl Ord for Clause
note: we rely on this ordering when building the dag
impl Ord for Clause
note: we rely on this ordering when building the dag
Source§impl PartialOrd for Clause
impl PartialOrd for Clause
impl Eq for Clause
impl StructuralPartialEq for Clause
Auto Trait Implementations§
impl Freeze for Clause
impl RefUnwindSafe for Clause
impl Send for Clause
impl Sync for Clause
impl Unpin for Clause
impl UnwindSafe for Clause
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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