Struct boolean_expression::PersistedBDD[][src]

pub struct PersistedBDD<T> where
    T: Clone + Debug + Eq + Hash
{ /* fields omitted */ }

A PersistedBDD is a wrapper around a BDD that provides a means to write BDD labels and nodes out to a BDDOutput. It tracks how much of the BDD has already been writen out, and writes out new nodes and labels as required when its persist() or persist_all() method is called.

Implementations

impl<T> PersistedBDD<T> where
    T: Clone + Debug + Eq + Hash
[src]

pub fn new() -> PersistedBDD<T>[src]

Create a new PersistedBDD.

pub fn bdd(&self) -> &BDD<T>[src]

Return the inner BDD.

pub fn bdd_mut(&mut self) -> &mut BDD<T>[src]

Return the inner BDD.

pub fn persist<E>(
    &mut self,
    f: BDDFunc,
    out: &dyn BDDOutput<T, E>
) -> Result<(), E>
[src]

Persist (at least) all labels and nodes in the BDD necessary to fully describe BDD function f. More records than strictly necessary may be written out.

pub fn persist_all<E>(&mut self, out: &dyn BDDOutput<T, E>) -> Result<(), E>[src]

Persist all labels and nodes in the BDD.

Auto Trait Implementations

impl<T> RefUnwindSafe for PersistedBDD<T> where
    T: RefUnwindSafe

impl<T> Send for PersistedBDD<T> where
    T: Send

impl<T> Sync for PersistedBDD<T> where
    T: Sync

impl<T> Unpin for PersistedBDD<T> where
    T: Unpin

impl<T> UnwindSafe for PersistedBDD<T> where
    T: UnwindSafe

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<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.