[][src]Struct varisat::clause::db::ClauseDb

pub struct ClauseDb {
    pub(super) clauses: Vec<ClauseRef>,
    pub(super) by_tier: [Vec<ClauseRef>; 4],
    pub(super) count_by_tier: [usize; 4],
    pub(super) garbage_size: usize,
}

Database for long clauses.

Removal of clauses from the clauses and the by_tier fields can be delayed. The clause header's deleted and tier fields need to be checked when iterating over these. by_tier may also contain duplicate entries.

Fields

clauses: Vec<ClauseRef>

May contain deleted clauses, see above

by_tier: [Vec<ClauseRef>; 4]

May contain deleted and moved clauses, see above

count_by_tier: [usize; 4]

These counts should always be up to date

garbage_size: usize

Size of deleted but not collected clauses

Methods

impl ClauseDb[src]

pub fn count_by_tier(&self, tier: Tier) -> usize[src]

The number of long clauses of a given tier.

Trait Implementations

impl Default for ClauseDb[src]

Auto Trait Implementations

impl Send for ClauseDb

impl Sync for ClauseDb

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