[−][src]Struct varisat::prop::graph::ImplGraph
The implication graph.
This is a DAG having all assigned variables as nodes. It has unit clauses, assumptions and decisions as sources. For each propagated assignment it has incomming edges from the literals whose assignment caused the propagation to happen.
Fields
nodes: Vec<ImplNode>
Contains only valid data for indices of assigned variables.
Methods
impl ImplGraph
[src]
pub fn set_var_count(&mut self, count: usize)
[src]
Update structures for a new variable count.
pub fn reason(&self, var: Var) -> &Reason
[src]
Get the reason for an assigned variable.
Returns stale data if the variable isn't assigned.
pub fn level(&self, var: Var) -> usize
[src]
Get the decision level of an assigned variable.
Returns stale data if the variable isn't assigned.
pub fn depth(&self, var: Var) -> usize
[src]
Get the trail depth of an assigned variable.
Returns stale data if the variable isn't assigned.
pub fn update_reason(&mut self, var: Var, reason: Reason)
[src]
Updates the reason for an assigned variable.
Make sure the reason vars are in front of the assigned variable in the trail.
pub fn update_removed_unit(&mut self, var: Var)
[src]
Updates the reason and depth of a unit clause removed from the trail.
pub fn is_removed_unit(&self, var: Var) -> bool
[src]
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
unsafe fn part_ptr(
ptr: *const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
ptr: *const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
unsafe fn part_ptr_mut(
ptr: *mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut
ptr: *mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut