pub struct OrFreeVariables { /* private fields */ }Expand description
A structure used to handle efficiently the free variables located at disjunction nodes.
This structures allows to store polarity associated with these variables, since they are stored as literals.
Implementations§
Source§impl OrFreeVariables
impl OrFreeVariables
Sourcepub fn set_negative_literals(&mut self)
pub fn set_negative_literals(&mut self)
Sets the polarity associated with the literals as negative for all the free variables.
Sourcepub fn iter_child_free_vars_lengths(
&self,
var: usize,
) -> impl Iterator<Item = usize> + '_
pub fn iter_child_free_vars_lengths( &self, var: usize, ) -> impl Iterator<Item = usize> + '_
Given a disjunction node index, iterates over the number of free variables each child has.
Sourcepub fn child_free_vars(&self, var: usize, child_index: usize) -> &[Literal]
pub fn child_free_vars(&self, var: usize, child_index: usize) -> &[Literal]
Returns a slice of the free variables of a given disjunction node child.
Sourcepub fn iter_child_free_vars(
&self,
var: usize,
) -> impl Iterator<Item = &[Literal]> + '_
pub fn iter_child_free_vars( &self, var: usize, ) -> impl Iterator<Item = &[Literal]> + '_
Iterates over the free variables of the children of a given disjunction.
Sourcepub fn child_free_vars_mut(
&mut self,
var: usize,
child_index: usize,
) -> &mut [Literal]
pub fn child_free_vars_mut( &mut self, var: usize, child_index: usize, ) -> &mut [Literal]
Iterates mutably over the free variables of a given disjunction node child.
Trait Implementations§
Source§impl Clone for OrFreeVariables
impl Clone for OrFreeVariables
Source§fn clone(&self) -> OrFreeVariables
fn clone(&self) -> OrFreeVariables
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OrFreeVariables
impl RefUnwindSafe for OrFreeVariables
impl Send for OrFreeVariables
impl Sync for OrFreeVariables
impl Unpin for OrFreeVariables
impl UnwindSafe for OrFreeVariables
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.