[][src]Struct varisat_checker::context::Context

pub struct Context<'a> {
    pub checker_state: CheckerState,
    pub clause_hasher: ClauseHasher,
    pub clauses: Clauses,
    pub processing: Processing<'a>,
    pub rup_check: RupCheck,
    pub tmp_data: TmpData,
    pub variables: Variables,
}

Central checker data structure.

This struct contains all data kept by the checker. Most functions operating on multiple fields of the context use partial references provided by the partial_ref crate. This documents the data dependencies and makes the borrow checker happy without the overhead of passing individual references.

Fields

checker_state: CheckerStateclause_hasher: ClauseHasherclauses: Clausesprocessing: Processing<'a>rup_check: RupChecktmp_data: TmpDatavariables: Variables

Trait Implementations

impl<'a> Default for Context<'a>[src]

impl<'a> PartialRefTarget for Context<'a>[src]

type RawTarget = Self

A partial reference will be represented by a pointer to this associated type. Read more

impl<'a1, 'a> IntoPartialRef<'a1> for &'a1 Context<'a>[src]

type Ref = Const<VariablesP, Const<TmpDataP, Const<RupCheckP, Const<ProcessingP<'a>, Const<ClausesP, Const<ClauseHasherP, Const<CheckerStateP, Ref<'a1, Context<'a>>>>>>>>>

impl<'a1, 'a> IntoPartialRef<'a1> for &'a1 mut Context<'a>[src]

type Ref = Mut<VariablesP, Mut<TmpDataP, Mut<RupCheckP, Mut<ProcessingP<'a>, Mut<ClausesP, Mut<ClauseHasherP, Mut<CheckerStateP, Ref<'a1, Context<'a>>>>>>>>>

impl<'a1, 'a, ContainingPart, Reference> SplitIntoParts<'a1, ContainingPart, Reference> for Context<'a> where
    ContainingPart: Part<PartType = Field<Self>>,
    Reference: PartialRef<'a1>,
    Reference::Target: HasPart<ContainingPart>, 
[src]

type Result = Const<Nested<ContainingPart, VariablesP>, Const<Nested<ContainingPart, TmpDataP>, Const<Nested<ContainingPart, RupCheckP>, Const<Nested<ContainingPart, ProcessingP<'a>>, Const<Nested<ContainingPart, ClausesP>, Const<Nested<ContainingPart, ClauseHasherP>, Const<Nested<ContainingPart, CheckerStateP>, Reference>>>>>>>

A partial reference that has all the parts Reference and all parts of Self nested in ContainingPart as constant parts. Read more

type ResultMut = Mut<Nested<ContainingPart, VariablesP>, Mut<Nested<ContainingPart, TmpDataP>, Mut<Nested<ContainingPart, RupCheckP>, Mut<Nested<ContainingPart, ProcessingP<'a>>, Mut<Nested<ContainingPart, ClausesP>, Mut<Nested<ContainingPart, ClauseHasherP>, Mut<Nested<ContainingPart, CheckerStateP>, Reference>>>>>>>

A partial reference that has all the parts Reference and all parts of Self nested in ContainingPart as mutable parts. Read more

impl<'a> HasPart<CheckerStateP> for Context<'a>[src]

impl<'a> HasPart<ClauseHasherP> for Context<'a>[src]

impl<'a> HasPart<ClausesP> for Context<'a>[src]

impl<'a> HasPart<ProcessingP<'a>> for Context<'a>[src]

impl<'a> HasPart<RupCheckP> for Context<'a>[src]

impl<'a> HasPart<TmpDataP> for Context<'a>[src]

impl<'a> HasPart<VariablesP> for Context<'a>[src]

Auto Trait Implementations

impl<'a> !Send for Context<'a>

impl<'a> !Sync for Context<'a>

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