[][src]Struct varisat::prop::watch::Watchlists

pub struct Watchlists {
    watches: Vec<Vec<Watch>>,
    enabled: bool,
}

Watchlists to detect clauses that became unit.

Fields

watches: Vec<Vec<Watch>>

Contains only valid data for indices of assigned variables.

enabled: bool

Whether watchlists are present

Methods

impl Watchlists[src]

pub fn set_var_count(&mut self, count: usize)[src]

Update structures for a new variable count.

pub fn watch_clause(&mut self, cref: ClauseRef, lits: [Lit; 2])[src]

Start watching a clause.

lits have to be the first two literals of the given clause.

pub fn watched_by_mut(&mut self, lit: Lit) -> &mut Vec<Watch>[src]

Return watches for a given literal.

pub fn add_watch(&mut self, lit: Lit, watch: Watch)[src]

Make a literal watch a clause.

pub fn enabled(&self) -> bool[src]

Are watchlists enabled.

pub fn disable(&mut self)[src]

Clear and disable watchlists.

Actual clearing of the watchlists is done on re-enabling of the watchlists.

Trait Implementations

impl Default for Watchlists[src]

Auto Trait Implementations

impl Send for Watchlists

impl Sync for Watchlists

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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