pub struct ProofReach { /* private fields */ }
Implementations§
Source§impl ProofReach
impl ProofReach
pub const ProvesFalse: ProofReach
pub const UnderHypothesis: ProofReach
pub const ReachesProof: ProofReach
pub const ReachesNonTrivialProof: ProofReach
pub const ReachesFalse: ProofReach
Sourcepub const CdclDeadBranch: ProofReach
pub const CdclDeadBranch: ProofReach
Is this a CDCL dead branch (i.e. all children lead to a contradiction)
Sourcepub const fn all_bits() -> Self
pub const fn all_bits() -> Self
Returns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags()
if you only want to use flags.
Sourcepub const fn is_all_bits(&self) -> bool
pub const fn is_all_bits(&self) -> bool
Returns true
if the bitmask contains all values.
This will check for bits == !0
,
use .is_all_flags()
if you only want to check for all flags
Sourcepub const fn is_all_flags(&self) -> bool
pub const fn is_all_flags(&self) -> bool
Returns true
if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate()
first.
Sourcepub const fn all() -> Self
👎Deprecated: Please use the ::all_bits()
constructor
pub const fn all() -> Self
::all_bits()
constructorReturns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags()
if you only want to use flags.
Sourcepub const fn is_all(&self) -> bool
👎Deprecated: Please use the .is_all_bits()
method
pub const fn is_all(&self) -> bool
.is_all_bits()
methodReturns true
if the bitmask contains all values.
This will check for bits == !0
,
use .is_all_flags()
if you only want to check for all flags
Sourcepub const fn full() -> Self
👎Deprecated: Please use the ::all_flags()
constructor
pub const fn full() -> Self
::all_flags()
constructorReturns a bitmask that contains all flags.
Sourcepub const fn is_full(&self) -> bool
👎Deprecated: Please use the .is_all_flags()
method
pub const fn is_full(&self) -> bool
.is_all_flags()
methodReturns true
if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate()
first.
Sourcepub const fn truncate(&self) -> Self
pub const fn truncate(&self) -> Self
Returns a bitmask that only has bits corresponding to flags
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if self
intersects with any value in other
,
or if other
does not contain any values.
This is equivalent to (self & other) != 0 || other == 0
.
Source§impl ProofReach
impl ProofReach
pub fn if_(self, cond: bool) -> Self
pub fn proves_false(self) -> bool
pub fn under_hypothesis(self) -> bool
pub fn reaches_proof(self) -> bool
pub fn reaches_non_trivial_proof(self) -> bool
pub fn reaches_false(self) -> bool
pub fn cdcl_dead_branch(self) -> bool
Trait Implementations§
Source§impl Binary for ProofReach
impl Binary for ProofReach
Source§impl BitAnd for ProofReach
impl BitAnd for ProofReach
Source§impl BitAndAssign for ProofReach
impl BitAndAssign for ProofReach
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moreSource§impl BitOr for ProofReach
impl BitOr for ProofReach
Source§impl BitOrAssign for ProofReach
impl BitOrAssign for ProofReach
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moreSource§impl BitXor for ProofReach
impl BitXor for ProofReach
Source§impl BitXorAssign for ProofReach
impl BitXorAssign for ProofReach
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moreSource§impl Clone for ProofReach
impl Clone for ProofReach
Source§fn clone(&self) -> ProofReach
fn clone(&self) -> ProofReach
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProofReach
impl Debug for ProofReach
Source§impl Default for ProofReach
impl Default for ProofReach
Source§fn default() -> ProofReach
fn default() -> ProofReach
Source§impl From<ProofReach> for u8
impl From<ProofReach> for u8
Source§fn from(val: ProofReach) -> u8
fn from(val: ProofReach) -> u8
Source§impl From<u8> for ProofReach
impl From<u8> for ProofReach
Source§impl Hash for ProofReach
impl Hash for ProofReach
Source§impl LowerHex for ProofReach
impl LowerHex for ProofReach
Source§impl Not for ProofReach
impl Not for ProofReach
Source§impl Octal for ProofReach
impl Octal for ProofReach
Source§impl Ord for ProofReach
impl Ord for ProofReach
Source§fn cmp(&self, other: &ProofReach) -> Ordering
fn cmp(&self, other: &ProofReach) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq<u8> for ProofReach
impl PartialEq<u8> for ProofReach
Source§impl PartialEq for ProofReach
impl PartialEq for ProofReach
Source§impl PartialOrd for ProofReach
impl PartialOrd for ProofReach
Source§impl UpperHex for ProofReach
impl UpperHex for ProofReach
impl Copy for ProofReach
impl Eq for ProofReach
impl StructuralPartialEq for ProofReach
Auto Trait Implementations§
impl Freeze for ProofReach
impl RefUnwindSafe for ProofReach
impl Send for ProofReach
impl Sync for ProofReach
impl Unpin for ProofReach
impl UnwindSafe for ProofReach
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
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
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>
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>
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