Struct oxidd_core::util::Subst
source · pub struct Subst<'a, F> { /* private fields */ }Expand description
Substitution mapping variables to replacement functions, created from slices of functions
Implementations§
source§impl<'a, F> Subst<'a, F>
impl<'a, F> Subst<'a, F>
sourcepub fn new(vars: &'a [F], replacements: &'a [F]) -> Self
pub fn new(vars: &'a [F], replacements: &'a [F]) -> Self
Create a new substitution to replace the i-th variable of vars by the
i-th function in replacement
All variables of vars should be distinct. Furthermore, variables must
be handles for the respective decision diagram levels, e.g., the
respective Boolean function for B(C)DDs, and a singleton set for ZBDDs.
Panics if vars and replacements have different length
Trait Implementations§
source§impl<'a, F> Substitution for Subst<'a, F>
impl<'a, F> Substitution for Subst<'a, F>
§type Replacement = &'a F
type Replacement = &'a F
Replacement type
source§fn pairs(&self) -> impl ExactSizeIterator<Item = (Self::Var, Self::Replacement)>
fn pairs(&self) -> impl ExactSizeIterator<Item = (Self::Var, Self::Replacement)>
Iterate over pairs of variable and replacement
impl<F> Copy for Subst<'_, F>
Auto Trait Implementations§
impl<'a, F> Freeze for Subst<'a, F>
impl<'a, F> RefUnwindSafe for Subst<'a, F>where
F: RefUnwindSafe,
impl<'a, F> Send for Subst<'a, F>where
F: Sync,
impl<'a, F> Sync for Subst<'a, F>where
F: Sync,
impl<'a, F> Unpin for Subst<'a, F>
impl<'a, F> UnwindSafe for Subst<'a, F>where
F: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more